2016-04-03 11 views
0

POSTリクエストを送信し、私は、このページからトラック名を取得する必要がありますが、私は、私はFirefoxのインスペクタを使用このページからフルテキストのWebページを解析するには?

var response = await client.GetStringAsync(new Uri("http://parmismedia1.com/musicplayeralbum.aspx?album=666&id=8503&title=farzad-farzin-6-to-che-bashi")); 

uncomplete応答を取得するには、モバイルおよびデスクトップユーザーエージェント文字列を使用しますがSTIL​​ uncomplete応答を得ました。 しかし、私はそのアドレスでucブラウザでダウンロードタスクを作成するときに全ページテキストを取得することに気づいた。 完全なページテキストを取得するにはどうすればよいですか?

答えて

0

私はまだclient.GetStringAsyncが動作していない理由を理解していますが、System.Net.HttpWebRequestを使用してページhtmlを取得できました。

以下のコードサンプル。テストアプリで

Uri address = new Uri("http://parmismedia1.com/musicplayeralbum.aspx?album=666&id=8503&title=farzad-farzin-6-to-che-bashi"); 
HttpWebRequest httpRequest = WebRequest.Create(address) as HttpWebRequest; 
httpRequest.UseDefaultCredentials = true; 
httpRequest.ServicePoint.Expect100Continue = false; 
httpRequest.Proxy.Credentials = CredentialCache.DefaultCredentials; 
httpRequest.ProtocolVersion = HttpVersion.Version11; 
httpRequest.UserAgent = @"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"; 
httpRequest.Method = "GET"; 
httpRequest.Timeout = 3000; 
HttpWebResponse response = httpRequest.GetResponse() as HttpWebResponse; 
StreamReader reader = new StreamReader(response.GetResponseStream()); 

string html = reader.ReadToEnd(); 

response.Close(); 
+0

それは動作し、私はページテキストを取得しますが、それはトラックリストを含む部分を含んでいないことを意味します。ブラウザでページを開くと、左側のアルバムカバーとトラックを含む部分が表示され、その部分は解析されたテキストには含まれません。 – mhmt93t

+0

ur応答テキストにトラック名が含まれていますか? – mhmt93t

+0

はい、そうです。たぶんVS文字列インスペクタを使用していて、大きな文字列のすべての内容が表示されないことがあります。 System.IO.File.WriteAllText(@ "C:\ temp \ test.txt"、html)のようなaddind somethignを試してください。ファイル内の結果を確認してください。または、コード内でbool containsThirdSong = html.Contains( "3 - Dir Omadi");のような曲名をテストします。 –

1

、Iは、(代わりにアンパサンド直接&を使用して要求に&を使用しないことによって)有効なURLを使用し、応答が正しく返す:

var client = new HttpClient(); 
var response = await client.GetStringAsync(new Uri("https://parmismedia1.com/musicplayeralbum.aspx?album=666&id=8503&title=farzad-farzin-6-to-che-bashi")); 

言われていること、元のクエリも正常に返されます。リダイレクトが完了する前にリダイレクトが行われているだけです。

Redirects

しかし、私はそれが応答の開始時にエラー情報が含まれているとして返されるHTMLページが完全に無効であることの通知をした:

The process cannot access the file 'C:\inetpub\PMWebsite\Log\500_2016-04-03.log' because it is being used by another process. 

<!DOCTYPE html> 
<html lang="en" class="app"> 
<head><meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /><title> 

あなたがに確認することをお勧めしますウェブサイトの作成者がウェブアプリケーションのコンテンツをスクラップしているかどうかを確認し、直接APIを持っているかどうかを確認してください。

関連する問題