2012-01-23 12 views
1

を使用して、このリダイレクトを処理する方法:ここに私のコードですcURLの

echo post_data("http://www.ifreewind.net/iFreeWind.aspx", 
       "__VIEWSTATE=%2FwEPDwULLTE3NjQ3MDc3NDQPZBYCAgMPZBYCAgEPFgIeB1Zpc2libGVoZBgBBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WAQUSUmVtZW1iZXJNZUNoZWNrQm94r57YdIUtbSps%2FGLW1PUtjxcILdE%3D&__EVENTVALIDATION=%2FwEWBQLKivfjBgLw2N3fDgLC9%2FChAwLxuKbKAgL%2BjNCfDwU6DJjH4Q2acTlGVXmDrSv2Nn4G&UserNameTextBox=myemailaddress%40gmail.com&PasswordTextBox=mypassword&LoginButton=%E7%99%BB%E9%99%86"); 

function post_data($site, $data){ 
    $datapost = curl_init(); 
    $headers = array("Expect:"); 
    curl_setopt($datapost, CURLOPT_URL, $site); 
    curl_setopt($datapost, CURLOPT_TIMEOUT, 40000); 
    curl_setopt($datapost, CURLOPT_HEADER, TRUE); 
    curl_setopt($datapost, CURLOPT_HTTPHEADER, $headers); 
    curl_setopt($datapost, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); 
    curl_setopt($datapost, CURLOPT_POST, TRUE); 
    curl_setopt($datapost, CURLOPT_POSTFIELDS, $data); 
    curl_setopt($datapost, CURLOPT_COOKIEFILE, "cookie.txt"); 
    ob_start(); 
    return curl_exec($datapost); 
    ob_end_clean(); 
    curl_close($datapost); 
    unset($datapost); 
} 

post_data()
関数の2番目のパラメータは、私が生成され、Firefoxのプラグインを使用してHttpfox結果です。このアドレスは自動的に
http://www.ifreewind.net/Users/Index.aspx
にリダイレクトされるため、これらのコードは機能しません。そのため、失敗しました。許可を渡す手助けをしてください。

答えて

0

試し:CURLINFO_EFFECTIVE_URL - 最終実効URL

curl_setopt($datapost, CURLINFO_EFFECTIVE_URL, TRUE); 
+0

ありがとうございますが、まだ動作しません:( – Phoenix

+0

ああ、間違っている... CURLOPT_FOLLOWLOCATIONが正しいです。 – PiTheNumber

+0

ええ、そう、ありがとう:) – Phoenix

関連する問題