[英]XMLHttpRequest vs curl doesn't work
今天,我正在用javascript,java和c#進行一些xhr的操作,但是它不起作用...。我不知道為什么
這是代碼
var xhr = new XMLHttpRequest();
function init(){
xhr.open("POST","http://www.opsu.gob.ve/portal/controles/ctrl_portal_cpnev_csni.php",false);
xhr.setRequestHeader("Cookie","SERVERID=webserver4");
xhr.setRequestHeader("Origin","http://www.opsu.gob.ve");
xhr.setRequestHeader("Accept-Encoding","gzip, deflate");
xhr.setRequestHeader("Accept-Language","es-419,es;q=0.8");
xhr.setRequestHeader("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36");
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.setRequestHeader("Accept","*/*");
xhr.setRequestHeader("Cache-Control","max-age=0");
xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");
xhr.setRequestHeader("Connection","keep-alive");
xhr.setRequestHeader("Referer","http://www.opsu.gob.ve/portal/principal.html?ir=cpnev_csni&tp=1&ci=24522469");
xhr.send("ci=24522469&tipo=1");
console.log(xhr.responseText);
}
init();
它只是留下來,什么都沒有。...(我嘗試使用異步true,發生同樣的事情)
但是在卷曲中...有效
這是卷曲的線
curl "http://www.opsu.gob.ve/portal/controles/ctrl_portal_cpnev_csni.php" -H "Cookie: SERVERID=webserver4" -H "Origin: http://www.opsu.gob.ve" -H "Accept-Encoding: gzip, deflate" -H "Accept-Language: es-419,es;q=0.8" -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36" -H "Content-Type: application/x-www-form-urlencoded" -H "Accept: */*" -H "Cache-Control: max-age=0" -H "X-Requested-With: XMLHttpRequest" -H "Connection: keep-alive" -H "Referer: http://www.opsu.gob.ve/portal/principal.html?ir=cpnev_csni&tp=1&ci=24522469" --data "ci=24522469&tipo=1" --compressed
它應該返回
5334143;-; 2010;-; RICARDO;-; ALEJANDRO;-; MARCANO;-; QUINTANA;-; 24522469;-;
但是不要(用curl可以做到)
我的代碼有什么問題?
你知道用c#,java或javascript做到這一點的任何方法嗎?
為什么我不使用卷發? 好吧,我嘗試讓所有用戶在那里注冊,並且超過5.000.000,並且用curl做到這一點非常復雜。
非常感謝您的幫助。
XMLHTTP無法同步,請將open的最后一個參數更改為true。
這樣,在執行console.log時,請求並未完成,要解決此問題,您需要使用onreadystatechange設置回調,例如:
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
console.log(xhr.responseText)
}
}
http://www.w3schools.com/ajax/ajax_xmlhttprequest_onreadystatechange.asp
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.