1

ダウンロードされた HTML ページはほとんどなく、リンクが壊れており (相対パス)、各ページがダウンロードされた元の URL があります。

- を使用して、すべての相対リンクを絶対リンクに変換しています。

Foreach (anchorElement in page) -
    Uri.TryCreate( originalPageURI, hrefRelativeURI, hrefAbsoluteURI )

これは、次の場合を除いて、ほとんどの場合に機能します -

originalPageURI = http://somewebsite.com/post.jsp?item=22

hrefRelativeURI = ?item=97

Uri.TryCreate()上記のTryCreate()失敗した場合の入力パラメータは何ですか?

4

1 に答える 1

2

?item=97は相対パスではなくクエリ文字列であるため、URIの問題を解決することはできません。

したがって、あなたがしなければならないことは、手作業でパーツを結合する新しいURLを作成することです。

次を使用する必要があります。

  • originalFolderPath、最後までの元のURLの部分として'/'。これに「真の」相対パスを結合して、絶対URIを取得できます。(つまり、で始まらないもの?

  • originalFilePath、までの元のURLの一部として'?'。この部分への「false」相対パスを結合できます。falseは、クエリ文字列パラメータを表すもの(つまり、で始まるもの?)です。

于 2012-04-16T16:26:51.353 に答える