2015-11-29 65 views
0

我試圖做模擬在9GAG報告按鈕啓動一個網站:模擬應用程序中的

string url = "http://9gag.com/gag/aKBQ00O"; 
string parameters = "radio-report=1"; 
using(WebClient wc = new WebClient()) { 
    wc.Headers[ HttpRequestHeader.ContentType ] = "application/x-www-form-urlencoded"; 
    string HtmlResult = wc.UploadString(url, parameters); 
    Console.WriteLine(HtmlResult); 
} 

WebException發生與服務器發送404 NOT FOUND錯誤的消息。 對於那些誰不想去9GAG來查看錶單我模擬,在這裏:

<section id="modal-report" class="badge-overlay-report modal report"> 
    <header> 
     <h3>Report Post</h3> 
     <p>What do you report this post for?</p> 
     <a class="btn-close badge-overlay-close" href="#">✖</a> 
    </header> 
    <form id="form-modal-report" class="popup-report" action="" onsubmit="return true;"> 
     <div class="field checkbox"> 
      <label><input name="radio-report" type="radio" value="1"> Contains a trademark or copyright violation</label> 
     </div> 
     <div class="field checkbox"> 
      <label><input name="radio-report" type="radio" value="2"> Spam, blatant advertising, or solicitation</label> 
     </div> 
     <div class="field checkbox"> 
      <label><input name="radio-report" type="radio" value="3"> Contains offensive materials/nudity</label> 
     </div> 
     <div class="field checkbox"> 
      <label><input name="radio-report" type="radio" value="4"> Repost of another post on 9GAG</label> 

      <input id="jsid-repost-link" type="text" class="text" placeholder="http://9gag.com/gag/post_ID"> 
     </div> 

     <div class="btn-container"> 
      <input type="submit" value="Submit" data-text-loading="Please wait ..."> 
     </div> 
    </form> 
</section> 

它是從http://9gag.com/gag/aKBQ00O取當然。

我錯過了什麼嗎?或者我正處於完全不同的方向呢?

+1

如果在瀏覽器中右鍵單擊報告按鈕,您會在標記下方看到一個錨點標記,其URL指向「http://9gag.com/read/delete? ID = aKBQ00O」。看起來,向該URL發送HTTP請求就足以完成您正在尋找的內容。 – mason

+0

@mason這是當你想刪除你的帖子。 (它隱藏,因爲它不是你的文章) – LyingOnTheSky

+0

我沒有檢查它請求的實際Url。刪除我的回答 –

回答

1

由開發者工具網絡選項卡檢查

我可以看到,它實際上職位,以

http://9gag.com/report-post 

並且該數據被如下所示:(用於第四單選按鈕類型= 4)

entryId=aKBQ00O&type=4&link= 

所以你應該改變你的代碼是這樣的:(但類型和鏈接參數應動態定義)

string url = "http://9gag.com/report-post"; 
string parameters = "entryId=aKBQ00O&type=4&link="; 
using (WebClient wc = new WebClient()) 
{ 
    wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; 
    string HtmlResult = wc.UploadString(url, parameters); 
    Console.WriteLine(HtmlResult); 
}