Php curl的问题无法解决

Php curl的问题无法解决,php,curl,Php,Curl,我的卷发有问题 下面是代码 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://www.paypal.com/cgi-bin/webscr'); curl_setopt($ch, CURLOPT_VERBOSE, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt ($ch, CURLOPT_POSTFIELDS, $workString); curl_setopt($ch, CUR

我的卷发有问题

下面是代码

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.paypal.com/cgi-bin/webscr');
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $workString);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Host: www.paypal.com"));
$output = curl_exec($ch);
curl_close($ch);

当我将url从paypal更改为google.co时,$output的值为空。在这一过程中,为什么paypal在我的服务器上表现得很滑稽,或者我遗漏了一些内容

您遗漏了响应:

Cache-Control: max-age=0, no-cache, no-store, must-revalidate
Connection: keep-alive, Transfer-Encoding
Content-Encoding: gzip
Content-Type: text/html
DC: dcg11-origin-www-2.paypal.com
Date: Thu, 09 Apr 2015 20:00:04 GMT
Location: https://www.paypal.com/home
Pragma: no-cache
Server: Apache
Set-Cookie: cwrClyrK4LoCV1fydGbAxiNL6iG=S9TU1gy_lJEUvQYrEjEdnxVIcMALl-A4QetP0un3pgYUjRvcqyV3PPcZfdmXw-Gndz2OpzOwWjVxel3EHUlf2UByp5YvehcKVr0j7Cc6bWGV7-rzs92RJPhyzkaHNvee0iTM4lSH1BqczOa0fALSl6SBiPsdCURen6MjyC9HRs2ntATq9CBbtaI6hJG2gPVJUanxZ3JTjxkkHcigCXmXJjjDyt8SSs0pQdlw8Bm2_NqGGcd7pOZW3H-AEaG; domain=.paypal.com; path=/; Secure; HttpOnly
KHcl0EuY7AKSMgfvHl7J5E7hPtK=ny66wHhnb7-YsQ5Khe83cIfgHbL2sOuqh4501OqRIsavyJB1_k9paRgZmyFdqxEqed9jGwPrvOpMgP8W; expires=Wed, 04-Apr-2035 20:00:04 GMT; domain=.paypal.com; path=/; Secure; HttpOnly
cookie_check=yes; expires=Sun, 06-Apr-2025 20:00:04 GMT; domain=.paypal.com; path=/; Secure; HttpOnly
consumer_display=USER_HOMEPAGE%3d0%26USER_TARGETPAGE%3d0%26USER_FILTER_CHOICE%3d0%26BALANCE_MODULE_STATE%3d1%26GIFT_BALANCE_MODULE_STATE%3d1%26LAST_SELECTED_ALIAS_ID%3d0%26SELLING_GROUP%3d1%26PAYMENT_AND_RISK_GROUP%3d1%26SHIPPING_GROUP%3d1%26HOME_VERSION%3d1%26MCE2_ELIGIBILITY%3d4294967295; expires=Sun, 06-Apr-2025 20:00:04 GMT; domain=.paypal.com; path=/; Secure; HttpOnly
Apache=10.16.0.148.1428609604137838; path=/; expires=Sat, 01-Apr-45 20:00:04 GMT
X-PP-SILOVER=name%3DLIVE9.WEB.1%26silo_version%3D880%26app%3Dappdispatcher%26TIME%3D1155147349; domain=.paypal.com; path=/; Secure; HttpOnly
X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT
Apache=10.16.0.11.1428609604131575; path=/; expires=Sat, 01-Apr-45 20:00:04 GMT
AKDC=dcg11-origin-www-2.paypal.com; expires=Thu, 09-Apr-2015 20:30:04 GMT; path=/; secure
Strict-Transport-Security: max-age=63072000
Transfer-Encoding: chunked
Vary: Accept-Encoding
X-Frame-Options: SAMEORIGIN
您需要的两件事:

在响应标题中注意:
位置:https://www.paypal.com/home

$status = intval(curl_getinfo($ch,CURLINFO_HTTP_CODE));
if ($status > 299 && $status < 400){
  $location = curl_getinfo($ch,CURLINFO_REDIRECT_URL );
}
url返回了302重定向
url\u getinfo($ch,CURLINFO\u HTTP\u code)

$status = intval(curl_getinfo($ch,CURLINFO_HTTP_CODE));
if ($status > 299 && $status < 400){
  $location = curl_getinfo($ch,CURLINFO_REDIRECT_URL );
}
有了以上这些,你可能需要饼干罐

CURLOPT_COOKIEJAR
CURLOPT_COOKIEFILE
您可能需要额外的请求头键值,例如Accept:

$request = array();
$request[] = 'Host: www.paypal.com';
$request[] = 'User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:39.0) Gecko/20100101 Firefox/39.0';
$request[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
$request[] = 'Accept-Language: en-US,en;q=0.5';
$request[] = 'Accept-Encoding: gzip, deflate';
$request[] = 'DNT: 1';
$request[] = 'Connection: keep-alive';
$request[] = 'Pragma: no-cache';
$request[] = 'Cache-Control: no-cache';
$request[] = 'Cookie: xxxx

curl_setopt($ch, CURLOPT_HTTPHEADER, $request);
如有必要,您的下一个请求将指向重定向位置:

这些将是您的请求头键值:
注意:显示的cookie值已编辑,无效

Host: www.paypal.com
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:39.0) Gecko/20100101 Firefox/39.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Cookie: cwrClyrK4LoCV3fydGbAxiNL6iG=S9TU1gy_lJEUvQYrEjEdnxVIcMALl-A4QetP0un3pgYUjRvcqyV3PPcZfdmXw-Gndz2OpzOwWfVxel3EHUlf2UByp5YvehcKVr0j7Cc6bWGV7-rzs92RoaH1BqczOa0fALSl6SBiPsdCURen6MjyC9HRs2nta0digPVJUanxZ3JTjxkkHcigCXwXJjjDyt8SSs0pQdlw8Bm2_NqGGcd7pOZW3H-AEaG; KHcl0EuY7AKSMgfvHl7J5E7hPtK=ny66wHhnb7-YsQ5Khe83cIfgHbL2sOuqh4501OqRIsavyJB1_k9paRgZmyFdqxEqed9jGwPrvOpMgP8W; cookie_check=yes; consumer_display=USER_HOMEPAGE%3d0%26USER_TARGETPAGE%3d0%26USER_FILTER_CHOICE%3d0%26BALANCE_MODULE_STATE%3d1%26GIFT_BALANCE_MODULE_STATE%3d1%26LAST_SELECTED_ALIAS_ID%3d0%26SELLING_GROUP%3d1%26PAYMENT_AND_RISK_GROUP%3d1%26SHIPPING_GROUP%3d1%26HOME_VERSION%3d1%26MCE2_ELIGIBILITY%3d4294967295; Apache=10.16.0.11.1428609604131575; X-PP-SILOVER=name%3DLIVE9.WEB.1%26silo_version%3D880%26app%3Dappdispatcher%26TIME%3D1155147349; AKDC=dcg11-origin-www-2.paypal.com
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

查看这篇文章,可能会帮助您找到问题:谢谢,我收到了这个错误警告:curl\u errno():138在中不是有效的curl句柄资源