如何解决具有不同响应和请求标头的相同 CURL 帖子本地 PC 和 Live Server
几天以来我一直在与 curl 发布结果作斗争。
来自我的本地主机的请求被接受,HTTP 代码为 200,但被托管服务器拒绝。您可以看到 HTTP 代码 500。我在另一台服务器上检查过,结果相同。
还有一些信息(即appconnect_time_us、connect_time_us、namelookup_time_us、pretransfer_time_us等)通过检查 curl_getinfo 中的信息从实时托管中丢失。
$res = uploadFile("1322323","D:/test.csv");
public function uploadFile($taskID,$fName)
{
$link = "https://api.ebay.com/sell/Feed/v1/task/$taskID/upload_file";
$curl = curl_init();
curl_setopt($curl,CURLINFO_HEADER_OUT,true);
// curl_setopt($curl,CURLOPT_PROXY,'127.0.0.1:8888');
curl_setopt_array($curl,array(
CURLOPT_URL => $link,CURLOPT_RETURNTRANSFER => true,CURLOPT_ENCODING => '',CURLOPT_MAXREDirs => 10,CURLOPT_SSL_VERIFYHOST=> false,CURLOPT_SSL_VERIFYPEER=> false,CURLOPT_FILETIME => TRUE,CURLOPT_TIMEOUT => 0,CURLOPT_HEADER => 1,CURLOPT_FOLLOWLOCATION => true,CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,CURLOPT_CUSTomrEQUEST => 'POST',CURLOPT_POSTFIELDS => array('file'=> new CURLFILE(realpath($fName)),'type' => 'form-data'),CURLOPT_HTTPHEADER => array(
'Authorization: Bearer ' . $this->userToken,'Content-Type: multipart/form-data','X-EBAY-C-MARKETPLACE-ID: EBAY_US'
),));
$response = curl_exec($curl);
$info = curl_getinfo($curl);
echo("<br><br><br><br><b>curl_getinfo Result:</b><br><br>");
foreach ($info as $itm => $val){
if(is_array($itm)){
foreach ($itm as $it => $vl){
echo "$it = $vl<br>";
}
}else if(is_array($val)){
foreach ($val as $it => $vl){
echo "$it = $vl<br>";
}
}else{
echo "$itm = $val<br>";
}
}
echo("<br><br><br><br><b>Curl Response:</b><br><br>");
var_dump($response);
curl_close($curl);
}
在我的本地主机上的结果:
curl_getinfo Result:
url = https://api.ebay.com/sell/Feed/v1/task/task-40-1312412930/upload_file
content_type =
http_code = 200
header_size = 314
request_size = 2534
filetime = -1
ssl_verify_result = 20
redirect_count = 0
total_time = 2.339028
namelookup_time = 0.003365
connect_time = 0.306189
pretransfer_time = 0.60357
size_upload = 12279
size_download = 0
speed_download = 0
speed_upload = 5249
download_content_length = 0
upload_content_length = -1
starttransfer_time = 0.895403
redirect_time = 0
redirect_url =
primary_ip = 209.140.129.1
primary_port = 443
local_ip = 192.168.18.9
local_port = 51158
http_version = 2
protocol = 2
ssl_verifyresult = 0
scheme = HTTPS
appconnect_time_us = 603319
connect_time_us = 306189
namelookup_time_us = 3365
pretransfer_time_us = 603570
redirect_time_us = 0
starttransfer_time_us = 895403
total_time_us = 2339028
request_header = POST /sell/Feed/v1/task/task-40-1312412930/upload_file HTTP/1.1 Host: api.ebay.com Accept: */* Accept-Encoding: deflate,gzip transfer-encoding: chunked Authorization: Bearer myTokenHear X-EBAY-C-MARKETPLACE-ID: EBAY_US Content-Type: multipart/form-data; boundary=------------------------afb12ce81b9fc15c Expect: 100-continue
Curl Response:
string(314) "HTTP/1.1 100 Continue HTTP/1.1 200 OK rlogid: t6pitaf%60btuf1%3D9whhpitaf%60btuf1*pgavr%28rbpv6713-1796a59c63d-0x2332 x-ebay-client-tls-version: TLSv1.3 content-length: 0 date: Fri,14 May 2021 10:09:00 GMT x-envoy-upstream-service-time: 857 server: ebay-proxy-server x-ebay-pop-id: UFES2-RNOAZ03-api "
在我的实时托管服务器上的结果
curl_getinfo Result:
url = https://api.ebay.com/sell/Feed/v1/task/task-40-1312412914/upload_file
content_type = application/json
http_code = 500
header_size = 368
request_size = 2525
filetime = -1
ssl_verify_result = 0
redirect_count = 0
total_time = 1.096718
namelookup_time = 3.7E-5
connect_time = 0.173644
pretransfer_time = 0.532899
size_upload = 12235
size_download = 228
speed_download = 207
speed_upload = 11156
download_content_length = 228
upload_content_length = 12235
starttransfer_time = 0.707947
redirect_time = 0
redirect_url =
primary_ip = 209.140.129.1
primary_port = 443
local_ip = 185.176.40.227
local_port = 44056
http_version = 2
protocol = 2
ssl_verifyresult = 0
scheme = HTTPS
request_header = POST /sell/Feed/v1/task/task-40-1312412914/upload_file HTTP/1.1 Host: api.ebay.com Accept: */* Accept-Encoding: deflate,gzip Authorization: Bearer myTokenHear X-EBAY-C-MARKETPLACE-ID: EBAY_US Content-Length: 12235 Expect: 100-continue Content-Type: multipart/form-data; boundary=------------------------bab10bf72897da74
Curl Response:
string(596) "HTTP/1.1 100 Continue HTTP/1.1 500 Internal Server Error rlogid: t6pitaf%60btuf1%3D9iptpitaf%60btuf1*7ir%7F7%28rbpv6762-1796a59a0ff-0x232b x-ebay-client-tls-version: TLSv1.2 content-type: application/json content-length: 228 date: Fri,14 May 2021 10:08:49 GMT x-envoy-upstream-service-time: 41 server: ebay-proxy-server x-ebay-pop-id: UFES2-RNOAZ03-api {"errors":[{"errorId":160001,"domain":"API_Feed","subdomain":"Selling","category":"APPLICATION","message":"There was a problem with an eBay internal system or process. Contact eBay Developer Technical Support for assistance."}]}"
任何想法/建议
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。