我想打开一个远程页面
获取页面内容
但是这个页面设置的有权限,要输入账号和密码
我有账号和密码
但是不知道怎么打开
求教各位大神帮帮忙

解决方案 »

  1.   


    GET /protected.php HTTP/1.1
    Host: 127.0.0.1
    User-Agent: Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: en-us,en;q=0.5
    Accept-Encoding: gzip, deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Connection: keep-alive
    Authorization: Basic $PASSWORD把$PASSWORD换成base_encode($username.':'.$password);
      

  2.   

    把上面的 http请求头用fwrite写到fsock打开的资源句柄就行了。
      

  3.   


    $getstr = 'adsvrlist?db=imedia_dev';
    $domain="10.0.3.129";
    $fp = fsockopen($domain, 8081, $errno, $errstr, 30);
    if(!$fp){
    echo "$errstr ($errno)<br>\n";
    }
    else
    {
    $tmp = base64_encode("$username:$password");
    fputs($fp, "GET $getstr\r\n");
    fputs($fp, "HTTP/1.0\r\n");
    fputs($fp, "Host: $domain\r\n");
    fputs($fp, "Authorization: Basic $tmp\r\n");
    fputs($fp, "\r\n");
    while(!feof($fp))
    {
    echo fgets($fp, 128);
    }
    //fclose ($fp);
    }
    我是这样写的
    还是报401错误
      

  4.   

    $getstr = 'adsvrlist?db=imedia_dev';要写绝对路径,以/开头的路径
      

  5.   

    谢谢
    这样得到的xml是这样的HTTP/1.1 200 OK
    Server: Adfwebserver 2.0.0(for Magicbrain v2.0)
    Cache-Control: no-store
    Content-Length: 589
    Content-type: text/xml
    Connection: Close<!--?xml version="1.0" encoding="GBK"?-->
    <!--?xml:stylesheet type="text/xsl" href="/tpl/adsvrlist_table.xsl"?-->
    <adf v="1.0.0"><db name="imedia_dev" t="2" svrs="1" adsvrs="1"><ad sid="184"><cfg t="1"><id>872</id><st>-1</st><s>0</s><ct>-1</ct><c>0</c><v>0.000000</v></cfg><cfg t="1"><id>873</id><st>-1</st><s>0</s><ct>-1</ct><c>0</c><v>0.000000</v></cfg></ad><ad sid="192"><cfg t="0"><id>892</id><svr id="10.0.3.129:3000" v="6.6.609bch"><s>0</s><w>0</w><c>0</c><n>1.00</n><t>1320905706</t></svr><st>0</st><s>0</s><ct>-1</ct><c>0</c><v>1.000000</v></cfg></ad></db></adf><!-- invalid cid/sid param-->这样直接解析xml会报错
    如果不截取出xml的情况下,还有别的方法能正常处理这段字符串吗
    谢谢了
      

  6.   


    <?php
    $xml = substr($response, strpos($response, "\r\n\r\n") + 4); 
    echo $xml;