PHP Curl - Cookies problem



我正试图通过cUrl自动获取我的亚马逊同事统计数据。然而,我在第一个栏上摔倒了;登录。

当我使用以下代码时:

$url = 'https://affiliate-program.amazon.com/gp/flex/sign-in/select.html';
$post_data = "action=sign-in&email=$username&password=$password";
$fp = fopen('/my/path/to/cookie.txt', 'w');
fclose($fp);
$login = curl_init();
curl_setopt($login, CURLOPT_COOKIESESSION, 1);
curl_setopt($login, CURLOPT_COOKIEJAR, '/my/path/to/cookie.txt');
curl_setopt($login, CURLOPT_COOKIEFILE, '/my/path/to/cookie.txt');
curl_setopt($login, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');
curl_setopt($login, CURLOPT_TIMEOUT, 40);
curl_setopt($login, CURLOPT_RETURNTRANSFER, 1);        
curl_setopt($login, CURLOPT_URL, $url);
curl_setopt($login, CURLOPT_HEADER, 1);        
curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($login, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($login, CURLOPT_POST, 1);
curl_setopt($login, CURLOPT_POSTFIELDS, $post_data);
echo curl_exec($login);
curl_close($login);  

我得到以下输出:

HTTP/1.1 200正常日期:2011年9月22日星期四22:08:39 GMT服务器:服务器x-amz-id-1:1NZMSS8X73EE0G7HKW8 x-amz-id-2:HRW1ZoN4KVzDCp/tS5E7l+7fn9XGH2k/T7qxzi+WLOw=设置cookie:会话id时间=1317279600l;路径=/;domain=.aamazon.com;expires=周四2011年9月29日07:00:00 GMT设置cookie:session id=181-77755537-2127814;路径=/;domain=.aamazon.com;expires=2011年9月29日星期四07:00:00 GMT变化:接受编码,用户代理定义:关闭传输编码:分块内容类型:text/html;charset=UTF-8请启用Cookie继续

要继续在Amazon.com购物,请在您的网站中启用cookie浏览器了解有关Cookie的更多信息以及如何启用它们。

在浏览器中启用cookie后,请单击按钮返回上一页。

cookie.txt包含以下内容:

#Netscape HTTP Cookie文件

#http://curl.haxx.se/rfc/cookie_spec.html

#这个文件是由libcurl生成的!编辑风险自负。

.aamazon.com TRUE/FALSE 1317279600会话id时间1317279600l

.aamazon.com TRUE/FALSE 1317279600会话id 181-77755537-2127814

实时HTTP标头:

https://affiliate-program.amazon.com/gp/flex/sign-in/select.html

POST/gp/flex/sign-in/select.html HTTP/1.1主机:

affiliate-program.amazon.com用户代理:Mozilla/5.0(Windows NT 6.0;

rv:6.0)Gecko/20100101 Firefox/6.0接受:

text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8

接受语言:en-gb,en;q=0.5接受编码:gzip,缩小

接受字符集:ISO-8859-1,utf-8;q=0.7,*;q=0.7连接:保持有效

参考人:https://affiliate-program.amazon.com/Cookie:

apn用户id=P0000000000;会话id时间=1317366000l;

会话id=182-9139891-5240049;

__utma=125759317.157031897.1316727783.1316727783.1316795373.2;

__utmz=125759317.1316727781.1.utmccn=(直接)|utmcsr=(直接)| utmcmd=(无);

ubid main=190-8295480-4652243__utmv=125759317.koicarandsup-20;

x-main=qIM@jFtaFnr4KaiFFutR7WZ1QkQHqoq9;

在main=4|eaxYjMp+5TWMiQOn6gROkHUvCfKF3Y9hkvacYbU0+fzL3Pr1ejcGt78Tb6W5zvYj67hWyx3AuNd3UparIBCnnrl62d5IMyn7zeFKr7GfjnPvjjaGOPAK7tr7go+QgBU6OZ0hKse6MJIdApDrSe2cI0Mz9XDvbumEU5twDKgq338hejMR23IXuWrvq1o0hcfN6DS0oabY7mVIddSMig==;

__utmb=125759317__utmc=125759317内容类型:

application/x-www-form-urlencoded内容长度:1276

会话ID=182-9139891-5240049&path=%2Fgp%2Associates%2Flogin%2Flogin.html&query=returl%3D%2Fgp%2Associates%2Fjoin%2Landing%2Main.html%26retquery%3D&action=登录&mode=1&电子邮件=xxx&密码=xxx&x=31&y=18&元数据1=xppc1AIU%2Fl8IERp8RJxYooTCV9Vo2Nico9wyEvW9ByghGgc%2FSNU8XqMQnjgshs3DZpFQgLXCAT1qAama%2Bj5WBGxvTRiC45v6Am7hMY99RwJfUIozi5v1ZkwV%2Bjp9PecvpcPSxLVuwOF4QSf7Q%2BxNwlxLm5nHXqSNPwmw5Ezg2ENiagMWcrwuDlp50%2B0XKi0e8yyawdc5TjH%2BhGXz12KABR LoH1WuTSwAWleHzGzBUN515WgRMElB583b9h%2FdDumjmwwsHsjzXjLaEjYaM1w6nw%2FfqmpABPcN31D7wgDQoOi1xxIyUtZceAa3wwUxKvpZecStM2T6QtSJhx6YdpLNmHwGSdhkBrsCQVlcLruKNMnUVrb%2FZni3le380YsUeisVZy113lkayCwla9vvDTA4mstx2YTKtTU1NOzfblMlyBEL4rhLN1ppeF0EaiAoiatL1kH%2Bvt6tp78KyPCd0XeEBGqMeDWm2b%2FBSg%2BqVLBMSeHtJ4VZXxMaWhodZZYU0uxUNwL8hCVruO5KxSbssorByNybuPx%2FmkS87UZMDB62VALgb90MUXLvbVX%2BcmizzBkmwCs3Q6ampHa40NIYQXTCCnjVU wavCPv73OrMA8OjVJX3h371m3OHvzpBKRTFG5uiTfZoaaPI%2FxikE2v99%2FaR3vlwkTZfOhM%2Fba9eIbMpxArTj6ekpmTLbU5LwKn2yVbiAZgsUuFSCNcQMlE%2FJ9nAIuYZ2guks0Zz%2BPhJ07TOXuTscuc%2Fm0wgqqluPq5NShRINoiGLjiKva6ngslLoQWeKovNwYyVCyNfuwsZ7BIo6%2Fo7yaEfIK6Yb%2BZPMommN%2FI7BFrlW7wrWmaG%2FgbtSx1bg9A5DgtKBDI21j3ibebBZVN%2FP2ZrEB6upCDHEKa1pMCkP6nbOhu%2BxcrNYS%2FyS6e0b3WiWqugclX%2FnYmBWBdNunCFt8LKU%2FMvh DT820M%三维

HTTP/1.1 302临时移动日期:2011年9月23日星期五16:30:35 GMT

服务器:服务器x-amz-id-1:1JGFY8JCATS8CJ05WP3 x-amz-id-2:

vNYWJ+3yN1Qrya1cxENZdlFuZNF4Yc4uYhCmoR3UFBU=设置Cookie:

在main=4|3iPYr7E1Pn32BbMI4MHFaMtbn/0v54qEG1Jn9Pk+7Hi2Cws1f+jBSUt9oyBzrpy6BX1XCsZ/qoJlbswA0G2U3L9Yhec4CjSlsLZM+mEPRs/AiNAbvuUDzj9wL1HI2x+e7tBqDLhK+fas6R562qkQBX+9Y7bhE1St11hjislFijGuTcbtr+5mUz1FuweEFaH/xtHacsJ3Yth9iOiska0CbQ==;

路径=/;domain=.aamazon.com;expires=1月1日星期二08:00:01 2036 GMT;

安全设置Cookie:ubid main=190-8295480-4625243;路径=/;

domain=.aamazon.com;expires=1月1日星期二08:00:01 2036 GMT位置:

https://affiliate-program.amazon.com/gp/associates/join/landing/main.html

Vary:接受编码,用户代理内容编码:gzip nnCoection:

关闭传输编码:分块内容类型:text/html;

charset=UTF-8


https://affiliate-program.amazon.com/gp/associates/join/landing/main.html

GET/gp/associates/join/landing/main.html HTTP/1.1主机:

affiliate-program.amazon.com用户代理:Mozilla/5.0(Windows NT 6.0;

rv:6.0)Gecko/20100101 Firefox/6.0接受:

text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8

接受语言:en-gb,en;q=0.5接受编码:gzip,缩小

接受字符集:ISO-8859-1,utf-8;q=0.7,*;q=0.7连接:保持有效

参考人:https://affiliate-program.amazon.com/Cookie:

apn用户id=P0000000000;会话id时间=1317366000l;

会话id=182-9139891-5240049;

__utma=125759317.157031897.1316727783.1316727783.1316795373.2;

__utmz=125759317.1316727781.1.utmccn=(直接)|utmcsr=(直接)| utmcmd=(无);

ubid main=190-8295480-4652243__utmv=125759317.koicarandsup-20;

x-main=qIM@jFtaFnr4KaiFFutR7WZ1QkQHqoq9;

在main=4|3iPYr7E1Pn32BbMI4MHFaMtbn/0v54qEG1Jn9Pk+7Hi2Cws1f+jBSUt9oyBzrpy6BX1XCsZ/qoJlbswA0G2U3L9Yhec4CjSlsLZM+mEPRs/AiNAbvuUDzj9wL1HI2x+e7tBqDLhK+fas6R562qkQBX+9Y7bhE1St11hjislFijGuTcbtr+5mUz1FuweEFaH/xtHacsJ3Yth9iOiska0CbQ==;

__utmb=125759317__utmc=125759317

HTTP/1.1 302临时移动日期:2011年9月23日星期五16:30:36 GMT

服务器:服务器x-amz-id-1:0DVGSNJ16FJ7BZSXKZEA x-amz-id-2:

3zBVVCqaFC6uLEb69n0ImqYEWcveHC/fr3DWJZ9XwfU=设置Cookie:

ubid main=190-8295480-4652243;路径=/;domain=.aamazon.com;expires=周二

1月1日08:00:01 2036 GMT地点:

https://affiliate-program.amazon.com/gp/associates/network/main.html

Vary:接受编码,用户代理内容编码:gzip定义:

关闭传输编码:分块内容类型:text/html;

charset=UTF-8


https://affiliate-program.amazon.com/gp/associates/network/main.html

GET/gp/associates/network/main.html HTTP/1.1主机:

affiliate-program.amazon.com用户代理:Mozilla/5.0(Windows NT 6.0;

rv:6.0)Gecko/20100101 Firefox/6.0接受:

text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8

接受语言:en-gb,en;q=0.5接受编码:gzip,缩小

接受字符集:ISO-8859-1,utf-8;q=0.7,*;q=0.7连接:保持有效

参考人:https://affiliate-program.amazon.com/Cookie:

apn用户id=P0000000000;会话id时间=1317366000l;

会话id=182-9139891-5240049;

__utma=125759317.157031897.1316727783.1316727783.1316795373.2;

__utmz=125759317.1316727781.1.utmccn=(直接)|utmcsr=(直接)| utmcmd=(无);

ubid main=190-8295480-4652243__utmv=125759317.koicarandsup-20;

x-main=qIM@jFtaFnr4KaiFFutR7WZ1QkQHqoq9;

在main=4|3iPYr7E1Pn32BbMI4MHFaMtbn/0v54qEG1Jn9Pk+7Hi2Cws1f+jBSUt9oyBzrpy6BX1XCsZ/qoJlbswA0G2U3L9Yhec4CjSlsLZM+mEPRs/AiNAbvuUDzj9wL1HI2x+e7tBqDLhK+fas6R562qkQBX+9Y7bhE1St11hjislFijGuTcbtr+5mUz1FuweEFaH/xtHacsJ3Yth9iOiska0CbQ==;

__utmb=125759317__utmc=125759317

HTTP/1.1 200确定日期:2011年9月23日星期五16:30:36 GMT服务器:服务器

x-amz-id-1:02WEQDKB29RGKP5T4NWE x-amz-id-2:

xFfF8ncVlxX9KZtDLganiEY4CcDu+qXwkV5CBJGrKWY=设置Cookie:

ubid main=190-8295480-4652243;路径=/;domain=.aamazon.com;expires=周二

1月1日08:00:01 2036 GMT变化:接受编码,用户代理

内容编码:gzip定义:关闭传输编码:分块

内容类型:text/html;charset=UTF-8


V192206992.jpg">https://images-na.ssl-images-amazon.com/images/G/01/associates/network/thumb-slideshow-widget.V192206992.jpg

获取

/images/G/01/associates/network/tumb幻灯片小部件V192206992.jpg

HTTP/1.1主机:images-na.sl-images-amazon.com用户代理:Mozilla/5.0

(Windows NT 6.0;rv:6.0)Gecko/20100101 Firefox/6.0接受:

image/png,image/;q=0.8,/*;q=0.5接受语言:en-gb,en;q=0.5

接受编码:gzip,deflate接受字符集:

ISO-8859-1,utf-8;q=0.7,*;q=0.7连接:保持活动参考:

https://affiliate-program.amazon.com/gp/associates/network/main.html

HTTP/1.1 200 OK服务器:服务器内容长度:4119上次修改时间:

2010年6月2日星期三17:03:17 GMT内容类型:image/jpeg X-Cache-Lookup:

来自cdn图像的HIT。amazon.com:8080,来自的MISS

cdn-images.aamazon.com:10080缓存控制:最大年龄=607570264日期:

2011年9月23日星期五16:30:37 GMT连接:保持的活力


SL75.jpg">https://images-na.ssl-images-amazon.com/images/I/41WtSRWclnL.SL75.jpg

获取/images/I/41WtSRWclnLSL75.jpg HTTP/1.1主机:

images-na.sl-images-amazon.com用户代理:Mozilla/5.0(Windows NT

6.0;rv:6.0)Gecko/20100101 Firefox/6.0接受:

image/png,image/;q=0.8,/*;q=0.5接受语言:en-gb,en;q=0.5

接受编码:gzip,deflate接受字符集:

ISO-8859-1,utf-8;q=0.7,*;q=0.7连接:保持活动参考:

https://affiliate-program.amazon.com/gp/associates/network/main.html

HTTP/1.1 200 OK服务器:服务器内容长度:1317上次修改时间:

2011年5月26日星期四11:17:40 GMT内容类型:image/jpeg X-Cache-Lookup:

来自cdn图像的HIT。amazon.com:10080缓存控制:公共,

最大年龄=628443948到期时间:2031年8月23日星期六08:16:25 GMT日期:周五,23

2011年9月16:30:37 GMT连接:保持的活力


SL75.jpg">https://images-na.ssl-images-amazon.com/images/I/417XQ0XwQuL.SL75.jpg

获取/images/I/417XQ0XwQuLSL75.jpg HTTP/1.1主机:

images-na.sl-images-amazon.com用户代理:Mozilla/5.0(Windows NT

6.0;rv:6.0)Gecko/20100101 Firefox/6.0接受:

image/png,image/;q=0.8,/*;q=0.5接受语言:en-gb,en;q=0.5

接受编码:gzip,deflate接受字符集:

ISO-8859-1,utf-8;q=0.7,*;q=0.7连接:保持活动参考:

https://affiliate-program.amazon.com/gp/associates/network/main.html

HTTP/1.1 200 OK服务器:服务器内容长度:1321上次修改时间:

星期四,2010年7月29日04:26:28 GMT内容类型:图像/jpeg缓存控制:

public,最大年龄=628496714过期时间:2031年8月23日星期六22:55:51 GMT日期:

2011年9月23日星期五16:30:37 GMT连接:保持的活力


SL75.jpg">https://images-na.ssl-images-amazon.com/images/I/417tb3B43YL.SL75.jpg

获取/images/I/417tb3B43YLSL75.jpg HTTP/1.1主机:

images-na.sl-images-amazon.com用户代理:Mozilla/5.0(Windows NT

6.0;rv:6.0)Gecko/20100101 Firefox/6.0接受:

image/png,image/;q=0.8,/*;q=0.5接受语言:en-gb,en;q=0.5

接受编码:gzip,deflate接受字符集:

ISO-8859-1,utf-8;q=0.7,*;q=0.7连接:保持活动参考:

https://affiliate-program.amazon.com/gp/associates/network/main.html

HTTP/1.1 200 OK服务器:服务器内容长度:2462上次修改时间:

2009年6月26日星期五04:52:12 GMT内容类型:image/jpeg X-Cache-Lookup:

来自cdn图像的HIT。amazon.com:8080,来自的MISS

cdn-images.aamazon.com:10080缓存控制:最大年龄=607635331日期:

2011年9月23日星期五16:30:37 GMT连接:保持的活力


SL75.jpg">https://images-na.ssl-images-amazon.com/images/I/41sh5uiQ83L.SL75.jpg

获取/images/I/41sh5uiQ83LSL75.jpg HTTP/1.1主机:

images-na.sl-images-amazon.com用户代理:Mozilla/5.0(Windows NT

6.0;rv:6.0)Gecko/20100101 Firefox/6.0接受:

image/png,image/;q=0.8,/*;q=0.5接受语言:en-gb,en;q=0.5

接受编码:gzip,deflate接受字符集:

ISO-8859-1,utf-8;q=0.7,*;q=0.7连接:保持活动参考:

https://affiliate-program.amazon.com/gp/associates/network/main.html

HTTP/1.1 200 OK服务器:服务器内容长度:1341上次修改时间:

2011年9月15日星期四20:05:25 GMT内容类型:image/jpeg X-Cache-Lookup:

来自cdn图像的MISS。amazon.com:10080缓存控制:公共,

最大年龄=630611997到期时间:2031年9月17日星期三10:30:34 GMT日期:周五,23

2011年9月16:30:37 GMT连接:保持的活力


utm.gif?utmwv=1&utmn=61668861&utmcs=UTF-8&utmsr=1280x1024&utmsc=24位&utmul=en-gb&utmje=1&utmfl=10.3%20r183&utmdt=Amazon.com%20Associates%20Central%20-%20Home&utmhn=联盟计划。amazon.com&utmr=0&utmp=/gp/associates/network/main.html">https://affiliate-program.amazon.com/_utm.gif?utmwv=1&utmn=61668861&utmcs=UTF-8&utmsr=1280x1024&utmsc=24位&utmul=en-gb&utmje=1&utmfl=10.3%20r183&utmdt=Amazon.com%20Associates%20Central%20-%20Home&utmhn=联盟计划。amazon.com&utmr=0&utmp=/gp/associates/network/main.html

获取

/__utm.gif?utmwv=1&utmn=61668861&utmcs=UTF-8&utmsr=1280x1024&utmsc=24位&utmul=en-gb&utmje=1&utmfl=10.3%20r183&utmdt=Amazon.com%20Associates%20Central%20-%20Home&utmhn=联盟计划。amazon.com&utmr=0&utmp=/gp/associates/network/main.html

HTTP/1.1主机:affiliate-program.amazon.com用户代理:Mozilla/5.0

(Windows NT 6.0;rv:6.0)Gecko/20100101 Firefox/6.0接受:

image/png,image/;q=0.8,/*;q=0.5接受语言:en-gb,en;q=0.5

接受编码:gzip,deflate接受字符集:

ISO-8859-1,utf-8;q=0.7,*;q=0.7连接:保持活动参考:

https://affiliate-program.amazon.com/gp/associates/network/main.html

Cookie:apn用户id=P0000000000;会话id时间=1317366000l;

会话id=182-9139891-5240049;

__utma=125759317.157031897.1316727783.1316727783.1316795373.2;

__utmz=125759317.1316727781.1.utmccn=(直接)|utmcsr=(直接)| utmcmd=(无);

ubid main=190-8295480-4652243__utmv=125759317.koicarandsup-20;

x-main=qIM@jFtaFnr4KaiFFutR7WZ1QkQHqoq9;

在main=4|3iPYr7E1Pn32BbMI4MHFaMtbn/0v54qEG1Jn9Pk+7Hi2Cws1f+jBSUt9oyBzrpy6BX1XCsZ/qoJlbswA0G2U3L9Yhec4CjSlsLZM+mEPRs/AiNAbvuUDzj9wL1HI2x+e7tBqDLhK+fas6R562qkQBX+9Y7bhE1St11hjislFijGuTcbtr+5mUz1FuweEFaH/xtHacsJ3Yth9iOiska0CbQ==;

__utmb=125759317__utmc=125759317

HTTP/1.1 200确定日期:2011年9月23日星期五16:30:37 GMT服务器:服务器

最后修改时间:2011年9月16日星期五11:22:34 GMT Etag:"23-35b3d280">

接受范围:字节内容长度:35选项:关闭

内容类型:image.gif


SL75.jpg">https://images-na.ssl-images-amazon.com/images/I/51993R08WLL.SL75.jpg

获取/images/I/51993R08WLLSL75.jpg HTTP/1.1主机:

images-na.sl-images-amazon.com用户代理:Mozilla/5.0(Windows NT

6.0;rv:6.0)Gecko/20100101 Firefox/6.0接受:

image/png,image/;q=0.8,/*;q=0.5接受语言:en-gb,en;q=0.5

接受编码:gzip,deflate接受字符集:

ISO-8859-1,utf-8;q=0.7,*;q=0.7连接:保持活动参考:

https://affiliate-program.amazon.com/gp/associates/network/main.html

HTTP/1.1 200 OK服务器:服务器内容长度:1325上次修改时间:

2010年7月27日星期二16:47:41 GMT内容类型:image/jpeg X-Cache-Lookup:

来自cdn图像的MISS。amazon.com:10080缓存控制:公共,

最大年龄=628244375到期时间:2031年8月21日星期四00:50:12 GMT日期: 23日星期五

2011年9月16:30:37 GMT连接:保持的活力


SL75.jpg">https://images-na.ssl-images-amazon.com/images/I/41is%2B997KUL.SL75.jpg

GET/images/I/41是%2B9997KULSL75.jpg HTTP/1.1主机:

images-na.sl-images-amazon.com用户代理:Mozilla/5.0(Windows NT

6.0;rv:6.0)Gecko/20100101 Firefox/6.0接受:

image/png,image/;q=0.8,/*;q=0.5接受语言:en-gb,en;q=0.5

接受编码:gzip,deflate接受字符集:

ISO-8859-1,utf-8;q=0.7,*;q=0.7连接:保持活动参考:

https://affiliate-program.amazon.com/gp/associates/network/main.html

HTTP/1.1 200 OK服务器:服务器内容长度:1662上次修改时间:

2007年11月11日星期日01:27:41 GMT内容类型:image/jpeg X-Cache-Lookup:

来自cdn图像的MISS。amazon.com:10080缓存控制:公共,

最大年龄=628487843到期时间:2031年8月23日星期六20:28:00 GMT日期:周五,23

2011年9月16:30:37 GMT连接:保持的活力


SL75.jpg">https://images-na.ssl-images-amazon.com/images/I/518ISDAvx1L.SL75.jpg

获取/images/I/518ISDAvx1LSL75.jpg HTTP/1.1主机:

images-na.sl-images-amazon.com用户代理:Mozilla/5.0(Windows NT

6.0;rv:6.0)Gecko/20100101 Firefox/6.0接受:

image/png,image/;q=0.8,/*;q=0.5接受语言:en-gb,en;q=0.5

接受编码:gzip,deflate接受字符集:

ISO-8859-1,utf-8;q=0.7,*;q=0.7连接:保持活动参考:

https://affiliate-program.amazon.com/gp/associates/network/main.html

HTTP/1.1 200 OK服务器:服务器内容长度:1111上次修改时间:

2010年7月27日星期二00:37:08 GMT内容类型:image/jpeg X-Cache-Lookup:

来自cdn图像的MISS。amazon.com:10080缓存控制:公共,

最大年龄=628003065到期时间:2031年8月18日星期一05:48:22 GMT日期:周五,23

2011年9月16:30:37 GMT连接:保持的活力


SL75.jpg">https://images-na.ssl-images-amazon.com/images/I/4155OOdySdL.SL75.jpg

获取/images/I/4155OOdySdLSL75.jpg HTTP/1.1主机:

images-na.sl-images-amazon.com用户代理:Mozilla/5.0(Windows NT

6.0;rv:6.0)Gecko/20100101 Firefox/6.0接受:

image/png,image/;q=0.8,/*;q=0.5接受语言:en-gb,en;q=0.5

接受编码:gzip,deflate接受字符集:

ISO-8859-1,utf-8;q=0.7,*;q=0.7连接:保持活动参考:

https://affiliate-program.amazon.com/gp/associates/network/main.html

HTTP/1.1 200 OK服务器:服务器内容长度:1494上次修改时间:

星期四,2009年8月20日15:52:47 GMT内容类型:图像/jpeg X-Cache-Lookup:

来自cdn图像的MISS。amazon.com:10080缓存控制:公共,

最大年龄=630336792到期时间:2031年9月14日星期日06:03:49 GMT日期:周五,23

2011年9月16:30:37 GMT连接:保持的活力


utm.gif?utmwv=1&utmt=var&utmn=1408273993">https://affiliate-program.amazon.com/_utm.gif?utmwv=1&utmt=var&utmn=1408273993

获取/__utm.gif?utmwv=1&utmt=var&utmn=1408273993 HTTP/1.1主机:

affiliate-program.amazon.com用户代理:Mozilla/5.0(Windows NT 6.0;

rv:6.0)Gecko/20100101 Firefox/6.0接受:

image/png,image/;q=0.8,/*;q=0.5接受语言:en-gb,en;q=0.5

接受编码:gzip,deflate接受字符集:

ISO-8859-1,utf-8;q=0.7,*;q=0.7连接:保持活动参考:

https://affiliate-program.amazon.com/gp/associates/network/main.html

Cookie:apn用户id=P0000000000;会话id时间=1317366000l;

会话id=182-9139891-5240049;

__utma=125759317.157031897.1316727783.1316727783.1316795373.2;

__utmz=125759317.1316727781.1.utmccn=(直接)|utmcsr=(直接)| utmcmd=(无);

ubid main=190-8295480-4652243__utmv=125759317.koicarandsup-20;

x-main=qIM@jFtaFnr4KaiFFutR7WZ1QkQHqoq9;

在main=4|3iPYr7E1Pn32BbMI4MHFaMtbn/0v54qEG1Jn9Pk+7Hi2Cws1f+jBSUt9oyBzrpy6BX1XCsZ/qoJlbswA0G2U3L9Yhec4CjSlsLZM+mEPRs/AiNAbvuUDzj9wL1HI2x+e7tBqDLhK+fas6R562qkQBX+9Y7bhE1St11hjislFijGuTcbtr+5mUz1FuweEFaH/xtHacsJ3Yth9iOiska0CbQ==;

__utmb=125759317__utmc=125759317

HTTP/1.1 200确定日期:2011年9月23日星期五16:30:37 GMT服务器:服务器

最后修改时间:2011年9月16日星期五11:22:34 GMT Etag:"23-35b3d280">

接受范围:字节内容长度:35选项:关闭

内容类型:image.gif


有人能解释为什么这不起作用吗?

编辑:此代码自2016年6月起已损坏。有关解释和可能的解决方法,请参阅此答案。上一个链接中提到的相同技术已添加到同事的登录中。


我写了这段代码,它对我来说很好,在上一次var_dump中,我看到了我所有的帐户信息和类似的东西。如果你不删除cookie,你可以通过登录向受保护的页面发出后续的curl请求。

希望这能帮助你了解如何做到这一点。很多时候,在大型网站上,你需要访问登录页面来设置cookie,而且他们通常在你需要提交的表单上有csrf令牌。

当然,如果亚马逊稍微改变一下他们的表单或url,这将不得不进行一些调整,但希望他们不会经常这样做。

<?php
$email    = 'you@yoursite.com';
$password = 'password';
// initial login page which redirects to correct sign in page, sets some cookies
$URL = 'https://affiliate-program.amazon.com/gp/associates/join/landing/main.html';
$ch  = curl_init();
curl_setopt($ch, CURLOPT_URL, $URL);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'amazoncookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'amazoncookie.txt');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
//curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_STDERR,  fopen('php://stdout', 'w'));
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$page = curl_exec($ch);
//var_dump($page);exit;
// try to find the actual login form
if (!preg_match('/<form name="sign_in".*?</form>/is', $page, $form)) {
die('Failed to find log in form!');
}
$form = $form[0];
// find the action of the login form
if (!preg_match('/action=(?:'|")?([^s'">]+)/i', $form, $action)) {
die('Failed to find login form url');
}
$URL2 = $action[1]; // this is our new post url
// find all hidden fields which we need to send with our login, this includes security tokens
$count = preg_match_all('/<input type="hidden"s*name="([^"]*)"s*value="([^"]*)"/i', $form, $hiddenFields);
$postFields = array();
// turn the hidden fields into an array
for ($i = 0; $i < $count; ++$i) {
$postFields[$hiddenFields[1][$i]] = $hiddenFields[2][$i];
}
// add our login values
$postFields['username'] = $email;
$postFields['password'] = $password;
$post = '';
// convert to string, this won't work as an array, form will not accept multipart/form-data, only application/x-www-form-urlencoded
foreach($postFields as $key => $value) {
$post .= $key . '=' . urlencode($value) . '&';
}
$post = substr($post, 0, -1);
// set additional curl options using our previous options
curl_setopt($ch, CURLOPT_URL, $URL2);
curl_setopt($ch, CURLOPT_REFERER, $URL);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$page = curl_exec($ch); // make request
var_dump($page); // should be logged in

您需要先让amazon设置cookie。

尝试:

// 1. Create a cookie file and set basic params
$ckfile = tempnam ("/your/path/to/cookie/folder", "cookie.txt");
$target_host = "https://affiliate-program.amazon.com";
$target_request = "/gp/flex/sign-in/select.html";
$post_data = "action=sign-in&email=$username&password=$password";
// 2. Visit homepage to set cookie
$ch = curl_init ($target_host);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);
// 3. Continue
$login = curl_init ($target_host.$target_request);
curl_setopt($login, CURLOPT_COOKIESESSION, 1);
curl_setopt($login, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt($login, CURLOPT_COOKIEFILE, $ckfile);
curl_setopt($login, CURLOPT_TIMEOUT, 40);
curl_setopt($login, CURLOPT_RETURNTRANSFER, 1);        
curl_setopt($login, CURLOPT_HEADER, 1);        
curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($login, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($login, CURLOPT_POST, 1);
curl_setopt($login, CURLOPT_POSTFIELDS, $post_data);
echo curl_exec($login);
curl_close($login);  

最新更新