2012-03-21 14 views
0
<?php  
$url='http://www.cfp.net/find/EnhancedSearch.aspx'; 
$s = @file_get_contents($url); 
    if (empty($s)) 
    { 
    // Web page empty/access failure 
     echo "sorry!"; 
    } 
    else 
    { 
    echo($s); 
} 
?> 

------私はhtmlextensionページを試してみましたが、 "http://www.cfp.net"でも動作しますが、$ sは空であるという意味のエラーメッセージが表示されます。上記のコードでは何のコンテンツも得られません。PHPを使用してasp.netで設計されたWebページのコンテンツを取得する方法は?

http://www.cfp.net/find/EnhancedSearch.aspxの内容を変数$ sに取得し、その内容をhtmlページ、つまり拡張子htmlで純粋なPHPコードを使用して保存してください。私は、サーバー上でこれをチェックするためにあなたをアドバイスしたい

+2

は、なぜあなたは 'のfile_get_contents()'のための警告を抑制しますか? '@'を削除すると、それは警告を出しますか? – JJJ

+0

うん、それはHTTP/1.1 500内部サーバーエラーを与えるでしょう:) –

答えて

0

。これは内部エラーを与え、あなたは上の誤差を抑制するので、それもエラーを報告することはできませんので

[NullReferenceException: Object reference not set to an instance of an object.] 
    CertificantSearch.CFP.get_bMobile() in D:\2.0Projects\CFPBoard\Certificant\CertificantSearch\CFP.Master.cs:23 
    CertificantSearch.EnhancedSearch.Page_Load(Object sender, EventArgs e) in D:\2.0Projects\CFPBoard\Certificant\CertificantSearch\EnhancedSearch.aspx.cs:151 
    System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14 
    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35 
    System.Web.UI.Control.OnLoad(EventArgs e) +99 
    System.Web.UI.Control.LoadRecursive() +50 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627 

。そして、私はCURLを使用してアドバイスをしたいと思います。

+1

どのようにそのエラースタックのトレースを取得しましたか? – zaf

+1

CURLを使用すると、応答ヘッダーは500個のエラーヘッダーだけでなく、受信します –

+0

ああそうです。元のfile_get_contentsコードでは、「HTTP/1.1 500 Internal Server Error」で停止します。 – zaf

3

問題は、リクエストのデフォルトのユーザーエージェントを上書きしないことです。

サーバがPHPのデフォルトのユーザエージェントを拒否しています。

何らかの理由で、wget要求は受け付けますが、デフォルトではPHP要求ではありません。

スプーフィングされたブラウザのユーザーエージェントに変更すると、要求が機能します。

HERESにフルコード:

$opts = array(
     'http'=>array(
       'method'=>"GET", 
       'user_agent' => 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6', 
     ) 
); 

$context = stream_context_create($opts); 

$url='http://www.cfp.net/find/EnhancedSearch.aspx'; 

$s = file_get_contents($url,false,$context); 

    if (empty($s)) 
    { 
    // Web page empty/access failure 
     echo "sorry!"; 
    } 
    else 
    { 
    echo($s); 
} 
関連する問題