次のコードは、入力されたサイトのソースをスクラップします。同じことをしたいのですが、プロキシがユーザーによって入力されています。プロキシを使用してウェブページデータをスクラップ
Console.WriteLine("Enter path");
string fileName = Console.ReadLine();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlAddress);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
Console.WriteLine("Page OK");
Stream receiveStream = response.GetResponseStream();
StreamReader readStream = null;
if (response.CharacterSet == null)
{
readStream = new StreamReader(receiveStream);
}
else
{
readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet));
}
string data = readStream.ReadToEnd();
response.Close();
readStream.Close();
Console.WriteLine(data);
System.IO.File.WriteAllText(@fileName, data);
私は、次のコードを試してみました - しかし、私はエラーを取得:System.UriFormatException
Console.WriteLine("proxy ip:");
string proxyip = Console.ReadLine();
Console.WriteLine("port");
string proxyport = Console.ReadLine();
string proxyaddress = (proxyip + ":" + proxyport);
HttpWebRequest requestproxy = (HttpWebRequest)WebRequest.Create("url");
WebProxy myproxy = new WebProxy(proxyaddress, false);
requestproxy.Proxy = myproxy;
HttpWebResponse responseproxy = (HttpWebResponse)requestproxy.GetResponse();
Console.WriteLine("file path:");
string fileName = Console.ReadLine();
if (responseproxy.StatusCode == HttpStatusCode.OK)
{
Console.WriteLine("Page OK");
Stream receiveStream = responseproxy.GetResponseStream();
StreamReader readStream = null;
if (responseproxy.CharacterSet == null)
{
readStream = new StreamReader(receiveStream);
}
else
{
readStream = new StreamReader(receiveStream, Encoding.GetEncoding(responseproxy.CharacterSet));
}
string data = readStream.ReadToEnd();
responseproxy.Close();
readStream.Close();
Console.WriteLine(data);
System.IO.File.WriteAllText(@fileName, data);
は、上記のコードが間違っていますか?