簡體   English   中英

XMLHttpRequest vs curl不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM