2015-09-15 90 views
0

我有一个查询如何使用Jquery或PHP从其他网站获得响应?

我需要做一个登录表单,在那里我得到来自其他网站的响应,我知道有HttpResponseMessage,但我认为这是使用Web API,所以我真的想知道如何得到网站的响应,因为我需要获得成功登录或如果登录失败

有没有什么办法可以做到这一点?

,代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
 
\t <script> 
 
\t \t $(document).ready(function(){ 
 
\t \t \t $("#btnSub").click(function(){ 
 
\t \t \t \t if($("#User").val() == "" || $("#Pass").val() == ""){ 
 
\t \t \t \t \t alert("Insert User & Password"); 
 
\t \t \t \t \t event.preventDefault(); 
 
\t \t \t \t }else{ 
 
\t \t \t \t \t $("#LogBox").hide(); 
 
\t \t \t \t } 
 
\t \t \t \t 
 
\t \t \t }); \t 
 
\t \t }); 
 
\t 
 
\t </script> 
 

 
<section class="container"> 
 
\t \t \t \t \t <div class="login"> 
 
\t \t \t \t \t \t <h1>Inicio de Sesión</h1> 
 
\t \t \t \t \t \t <form action="http://us.mzoneweb.net/Scope.MZone.Web/Logon.ashx" method="post" target="TheMZoneFrame"> 
 
\t \t \t \t \t \t \t <p><input name="Username" id="User" type="text" placeholder="Usuario"></p> 
 
\t \t \t \t \t \t \t <p><input name="Password" id="Pass" type="password" placeholder="Contraseña"></p> 
 
\t \t \t \t \t \t \t <p><input name="LogoutUrl" type="hidden" value=""></p> 
 
\t \t \t \t \t \t \t <p><input name="ErrorUrl" type="hidden" value=""></p> 
 
\t \t \t \t \t \t \t <p><input name="Version" type="hidden" value=""></p> 
 
\t \t \t \t \t \t \t \t \t \t \t \t 
 
\t \t \t \t \t \t \t <p class="remember_me"> 
 
\t \t \t \t \t \t \t <label> 
 
\t \t \t \t \t \t \t <input type="checkbox" name="remember_me" id="remember_me"> 
 
\t \t \t \t \t \t \t Remember me on this computer 
 
\t \t \t \t \t \t \t </label> 
 
\t \t \t \t \t \t \t </p> 
 
\t \t \t \t \t \t \t <p class="submit"><input name="Submit1" id="btnSub" type="submit" value="Iniciar Sesión" ></p> 
 
\t \t \t \t \t \t </form> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t </section> 
 

 

 
<iframe src="" height="100%" id="TheMZoneFrame" name="TheMZoneFrame" width="100%" frameborder="0"> 
 
\t <noframes>Your browser does not support IFRAME elements.</noframes> 
 
\t </iframe>

回答

0

使用cURL

下面是一个示例函数,将得到来自其他网站的响应:

/* 
* Makes an HTTP request via GET or POST, and can download a file 
* @returns - Returns the response of the request 
* @param $url - The URL to request, including any GET parameters 
* @param $params - An array of POST values to send 
* @param $filename - If provided, the response will be saved to the 
* specified filename 
*/ 
function request($url, $params = array(), $filename = "") { 
    $ch = curl_init(); 
    $curlOpts = array(
     CURLOPT_URL => $url, 
     // Set Useragent 
     CURLOPT_USERAGENT => 
      'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:29.0) 
        Gecko/20100101 Firefox/29.0', 
     // Don't validate SSL 
     // This is to prevent possible errors with self-signed certs 
     CURLOPT_SSL_VERIFYPEER => false, 
     CURLOPT_SSL_VERIFYHOST => false, 
     CURLOPT_RETURNTRANSFER => true, 
     CURLOPT_FOLLOWLOCATION => true 
    ); 
    if(!empty($filename)){ 
     // If $filename exists, save content to file 
     $file2 = fopen($filename,'w+') 
      or die("Error[".__FILE__.":".__LINE__."] 
        Could not open file: $filename"); 
     $curlOpts[CURLOPT_FILE] = $file2; 
    } 
    if (!empty($params)) { 
     // If POST values are given, send that shit too 
     $curlOpts[CURLOPT_POST] = true; 
     $curlOpts[CURLOPT_POSTFIELDS] = $params; 
    } 
    curl_setopt_array($ch, $curlOpts); 
    $answer = curl_exec($ch); 
    // If there was an error, show it 
    if (curl_error($ch)) die(curl_error($ch)); 
    if(!empty($filename)) fclose($file2); 
    curl_close($ch); 
    return $answer; 
} 
+0

哦,真的很感谢,我会检查它,谢谢 –

+0

@ÁngelAnguianoRamirez - 如果这能帮助,请通过我的回答打对勾和你会得到你的第一个2分。如果你也喜欢,你也可以放心。谢谢! –