1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
<?php include_once("./_common.php");
$table = "otms_qna"; $update_cnt = 0; $insert_cnt = 0;
$id = trim($_GET['id']); $pw = trim($_GET['pw']);
// 로그인 처리 $loginUrl = "https://login.soffice.11st.co.kr/login/Login.page?returnURL=http%3A%2F%2Fsoffice.11st.co.kr%2FIndex.tmall"; $login_data = ""; $cookie_nm = G5_DATA_PATH."/session/st11_cookie.txt";
$ch = curl_init(); curl_setopt ($ch, CURLOPT_URL,$loginUrl); //접속할 URL 주소 curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ch, CURLOPT_SSLVERSION,1); curl_setopt ($ch, CURLOPT_HEADER, 0); curl_setopt ($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_nm); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_nm); curl_setopt($ch, CURLOPT_POSTFIELDS, $login_data); curl_setopt ($ch, CURLOPT_TIMEOUT, 30); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec ($ch);
// 로그인 정보이용 로그인함 RSA 암호화된 id/pw 필요함 암호화는 이 페이지 콜하기전 JS로 암호화함 $loginUrl = "https://login.soffice.11st.co.kr/login/LoginOk.tmall"; $login_data = "encryptedLoginName={$id}&encryptedPassWord={$pw}&priority={$priority}&ktb_agent={$ktb_agent}&authMethod=login&returnURL=http%3A%2F%2Fsoffice.11st.co.kr%2FIndex.tmall&loginName=&passWord="; //_pr($login_data);
curl_setopt ($ch, CURLOPT_URL,$loginUrl); //접속할 URL 주소 curl_setopt($ch, CURLOPT_POSTFIELDS, $login_data); $result = curl_exec ($ch);
$loginUrl = "http://soffice.11st.co.kr/Index.tmall"; $login_data = "";
curl_setopt ($ch, CURLOPT_URL,$loginUrl); //접속할 URL 주소 curl_setopt($ch, CURLOPT_POSTFIELDS, $login_data); $result = curl_exec ($ch);
// 조회 기간설정 3개월 $sdate = date("Y/m/d",time()-(60*60*24*30)); $edate = date("Y/m/d",time());
$url = "https://soffice.11st.co.kr/product/AuthUnityBoardAction.tmall?method=getProductQnaSellerListJSON&start=0&limit=500&itgMemNo=&prdNoBox=&sltTxtGubun=name&searchQnaDtlsCd=&answerStatus=&srchTxt=&startDate={$sdate}&endDate={$edate}&periodPart=01&supplyCmNo=undefined&searchClsf=NORMAL&ntCodeType=&trnsStatCd=&isPaging=Y"; $login_data = "";
curl_setopt ($ch, CURLOPT_URL,$url); //접속할 URL 주소 curl_setopt($ch, CURLOPT_POSTFIELDS, $login_data); $result = curl_exec ($ch);
/*$result = iconv("EUCKR","UTF-8",$result); echo "<textarea cols=80 rows=20>"; print_r($result); echo "</textarea>"; exit;*/
$result = substr($result,1,strlen($result)-2); $res = json_decode($result);
if($res->TOTAL_COUNT>='0'){ for($i=0;$i<$res->TOTAL_COUNT;$i++){ $row = $res->BOARD_LIST[$i]; foreach($row as $key => $val){ if($key=='answerCont'){ $row->$key = addslashes($val); } if($key=='answerDt'){ $row->$key = str_replace("/","-",$val).":00"; } }
$row_productBO = $row->productBO; foreach($row_productBO as $key => $val){ if($key=='prdNmEncode'){ //$row_productBO->$key = urldecode($val); } }
$row_unityBoardInfoBO = $row->unityBoardInfoBO; foreach($row_unityBoardInfoBO as $key => $val){ if($key=='brdInfoSbjct'){ $row_unityBoardInfoBO->$key = addslashes($val); } } $row_unityBoardInfoBO_unityBoardInfoContentBO = $row->unityBoardInfoBO->unityBoardInfoContentBO; foreach($row_unityBoardInfoBO_unityBoardInfoContentBO as $key => $val){ if($key=='brdInfoCont'){ $row_unityBoardInfoBO_unityBoardInfoContentBO->$key = addslashes($val); } }
$row_memberBO = $row->memberBO;
$sql = "select count(*) as cnt from $table where SiteId = '11' and SeqNo = '{$row->subInfoNo}' "; $res2 = sql_query($sql); $info = mysql_fetch_array($res2); $sql_common = " SIteId = '11', SeqNo = '{$row->subInfoNo}', SeqNoSpecified = '{$row_unityBoardInfoBO->brdInfoNo}', Token = '{$row->Token}', SiteType = '11st', InquryType = '', ReplyType = '{$row->ReplyType}', InsDate = '{$row_unityBoardInfoBO->createDt}', UpdDate = '{$row->UpdDate}', ItemNo = '{$row_productBO->prdNo}', QueryType = '{$row_unityBoardInfoBO->qnaDtlsCdNm}', OrderNo = '{$row->OrderNo}',
SellStatusCode = '{$row->SellStatusCode}', SellStatus = '{$row->SellStatus}', Title = '{$row_unityBoardInfoBO->brdInfoSbjct}', Content = '{$row_unityBoardInfoBO->unityBoardInfoContentBO->brdInfoCont}', BuyerID = '{$row_memberBO->memID}', BuyerIdTemp = '{$row_memberBO->memID}', BuyerName = '{$row_memberBO->memNM}', ReplyDate = '{$row->answerDt}', ReplyDateSpecified = '{$row->ReplyDateSpecified}', ReplyCount = '{$row->ReplyCount}', ReplyContent = '{$row->answerCont}', TelNum1 = '{$row->TelNum1}', TelNum2 = '{$row->TelNum2}', SellerId = '{$row->selMnbdNo}', LogisticsType = '{$row->LogisticsType}' ";
if($info['cnt']>'0'){ $sql = "update $table set $sql_common where SiteId = '11' and SeqNo = '{$row->SeqNo}' "; $update_cnt++; } else { $sql = "insert into $table set $sql_common "; $insert_cnt++; }
sql_query($sql);
//_pr($sql_common); //_pr($row);
} _pr($_POST);
echo "추가된 레코드 : {$insert_cnt} 개<br>"; echo "수정된 레코드 : {$update_cnt} 개<br>"; echo "처리가 완료되었습니다."; } else { echo "<strong>Seller Office 상품정보를 가져오지 못했습니다. 로그인정보에 문제가 있을 가능성이 큽니다.</strong>"; }
curl_close ($ch);
?>
|