Php 远程登录亚马逊(KDP)

Php 远程登录亚马逊(KDP),php,curl,amazon-web-services,Php,Curl,Amazon Web Services,我想自动化KDP(Kindle桌面发布)的摘要。由于他们似乎没有任何电子邮件通知系统(至少我知道没有),我需要通过curl登录。但这让我发疯。我正在使用来检索他们登录站点的隐藏输入值。cookies和凭据都是正确的。有什么我完全不知道的吗$回复总是给我原始的登录站点。考虑下面的代码: function login($url) { require_once(dirname(__FILE__).'/simplehtmldom/simple_html_dom.php'); $html = file_g

我想自动化KDP(Kindle桌面发布)的摘要。由于他们似乎没有任何电子邮件通知系统(至少我知道没有),我需要通过curl登录。但这让我发疯。我正在使用来检索他们登录站点的隐藏输入值。cookies和凭据都是正确的。有什么我完全不知道的吗$回复总是给我原始的登录站点。考虑下面的代码:

function login($url) {
require_once(dirname(__FILE__).'/simplehtmldom/simple_html_dom.php');
$html = file_get_html($url);
$formarr = array();
$form = $html->find('#ap_signin_form',0);

$formarr["email"] = $this->user;
$formarr["password"] = $this->pass;
foreach ($html->find('#ap_signin_form input[type=hidden]') as $i)
$formarr[$i->name] = $i->value;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $form->action );
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $formarr);
curl_setopt($ch, CURLOPT_USERAGENT, $this->agent);
curl_setopt($ch, CURLOPT_COOKIEFILE, $this->cookie); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt($ch, CURLOPT_AUTOREFERER, true );
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false );    # required for https urls

$response = curl_exec($ch);
return $response;
}

有可能它被重定向了吗?我知道对于KDK网站,我们也必须这样做。嗨,韦恩,谢谢你的回答。我使用的是CURLOPT_FOLLOWLOCATION,另外,我在curl的verbose输出(CURLOPT_verbose)中没有看到任何位置头。你们设法远程登录到KDK了吗?是的,尽管我们使用的是rails和mechanize。我要说的是,我们确实必须关闭SSL验证。分析内容,它说我的浏览器太旧了。但是,此->代理具有正确的值(从$\u服务器复制)。非常奇怪。你没有错过CURLOPT_COOKIEJAR选项吗?有可能它被重定向了吗?我知道对于KDK网站,我们也必须这样做。嗨,韦恩,谢谢你的回答。我使用的是CURLOPT_FOLLOWLOCATION,另外,我在curl的verbose输出(CURLOPT_verbose)中没有看到任何位置头。你们设法远程登录到KDK了吗?是的,尽管我们使用的是rails和mechanize。我要说的是,我们确实必须关闭SSL验证。分析内容,它说我的浏览器太旧了。但是,此->代理具有正确的值(从$\u服务器复制)。很奇怪,你是不是错过了CURLOPT_COOKIEJAR选项?