0

http://freedns.afraid.org/でURLリダイレクトを設定したので、アプリのコードを変更しなくても、アプリケーションがダウンロードするファイルにホストを変更できます。

問題は、ファイルをダウンロードする前に正しいURLを解決する必要があることです。ここSOで見つけた方法を試しましたが、うまくいきませんでした(Webrequest)。

したがって、一般的なリダイレクトは使用されていないと思います。

実際のURL/IPをどのように解決できますか?

アップデート:

freednsに別のサブドメインがあり、そのサブドメインでダウンロード文字列を実行すると、リダイレクト先のページが表示されます。たぶん、その情報はどんな助けにもなり得ます。

UPDATE2:

他のウェブページを取得するために使用するコードは次のとおりです。

        WebClient client = new WebClient();
        string xml = client.DownloadString(new Uri("myfreednshere"));

したがって、そのコードを実行することにより、「myfreednshere」がリダイレクトするWebページbの文字列を取得します。

これは、WebクライアントがURLリダイレクトの解決に成功することを意味します。リダイレクトを解決するだけで使用できるコードはありますか?

UPDATE3:

これは私がhttprequestで得る応答です:

{X-Abuse: URL redirection provided by freedns.afraid.org - please report any misuse of this service
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Cache-Control: public, max-age=15
Content-Type: text/html
Date: Wed, 09 Nov 2011 21:55:21 GMT
Server: Apache/1.3.41 (Unix) PHP/5.3.6 with Suhosin-Patch
X-Powered-By: PHP/5.3.6

}
4

3 に答える 3

2

少なくとも1つのafraid.orgサイト(http://fb.afraid.org、クイックチェックで作業できる唯一のドメイン)がHTTPリダイレクト、301リダイレクト、またはプロキシを使用していないことに気づきました。フレームを使用します。したがって、元のコードは機能するはずです。

    WebClient client = new WebClient();
    string xml = client.DownloadString(new Uri("myfreednshere"));

少し変更を加えて、次のコードを使用しました。

    WebClient client = new WebClient();
    string html = client.DownloadString(new Uri("http://fb.afraid.org"));

呼び出しの結果、実際のURL(http://www.fragbite.com)が3か所にありました。1つはコメント、1つはフレームソース、もう1つはnoframesタグのリンクです。プログラムで必要な場合は、URLを解析できるはずです。

于 2011-11-10T15:52:47.190 に答える
1

WebClientクラスはリダイレクトに従います。HttpWebRequestを使用してみてください。

HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(url);
httpRequest.AllowAutoRedirect = false;

リクエストが行われた後、HTTPヘッダーの1つ「Location」は、リダイレクト先の場所を示します(ただし、AllowAutoRedirectがオフであったためフォローしませんでした)

于 2011-11-09T22:01:27.387 に答える
0

それで、301リダイレクトが必要ですか?

いくつかの方法で処理できます。これが.NETであり、IIS 7を使用している場合は、URL書き換えモジュール(http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/)を使用できます。 、または、何をしているのかがわかっている場合は、web.configファイルを直接変更できる場合があります。

    <system.webServer>
  <httpRedirect enabled="true" destination="http://domain.com/products" httpResponseStatus="Permanent" />
</system.webServer>

301のhttp://knowledge.freshpromo.ca/seo-tools/301-redirect.phpを処理する方法の詳細については、このリンクをたどってください

于 2011-11-09T21:43:50.897 に答える