我有一個URL包含所有信息在網址(用戶名/密碼/內容等)php curl - 通過瀏覽器訪問url響應:200通過curl響應訪問url:401?
如果我訪問我的瀏覽器中的網址,我得到了一個成功的迴應。
但是如果我通過捲曲訪問URL,我得到401
上有網址身份驗證。
這可能是什麼原因造成的?
代碼:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://mconnect.co.nz/v1/sendmessage?appname=app&pass=pass&msgclass=test&msgid=6&body=Some+Content&to=02712345678');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, $mconnect[$index]['app_name'] . ":" . $mconnect[$index]['app_pass']);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.12 (KHTML, like Gecko) Chrome/9.0.587.0 Safari/534.12');
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_HTTPGET, true);
curl_setopt($ch, CURLOPT_POST, false);
if(curl_exec($ch) === false)
echo 'fail: '.curl_error($ch);
更新... ...奇怪
所以,
我建設我的網址通過 $ mconnect [$指數] ['網址']。 '?' 。 http_build_query($網址);
它給了我上面的網址。
所以,
如果我有
$url = $mconnect[$index]['url'] . '?' . http_build_query($url);
curl_setopt($ch, CURLOPT_URL, $url);
我得到的401
但是,
如果我再做 echo $mconnect[$index]['url'] . '?' . http_build_query($url);
我得到
所以,如果我再做
$url = 'http://mconnect.co.nz/v1/sendmessage?appname=app&pass=pass&msgclass=test&msgid=6&body=Some+Content&to=02712345678';
curl_setopt($ch, CURLOPT_URL, $url);
然後,它的工作原理...
什麼想法?
你確定你正在做的HTTP發佈/獲取使用捲曲? – 2010-11-25 21:32:40
剛剛添加的代碼 – Hailwood 2010-11-25 21:42:16