2010-12-13 41 views
0

我發佈請求的請求uisng「POST」方法,在mac平臺上,uaser agent是 10.6.2。但在Windows中是平臺用戶代理。什麼是windows platfom的平臺useragent?

+0

你爲什麼需要用戶代理? – mpen 2010-12-13 05:25:59

+1

爲什麼地獄是用C++標記的?但是,信任用戶代理是一個非常糟糕的主意。而這個問題太不明確了,對我來說真的沒有意義。 – dvhh 2010-12-13 05:33:48

回答

1

用戶代理字符串完全取決於瀏覽器或您用於發出請求的任何客戶端。它與操作系統無關,儘管大多數瀏覽器都會包含一些關於操作系統版本的信息。

例如,在我的Firefox版本是:

Mozilla/5.0 (Windows NT 5.1; rv:2.0b7) Gecko/20100101 Firefox/4.0b7

和IE6,它是:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)

這裏,Windows NT 5.1代表的操作系統版本。

+0

我可以使用這一個作爲用戶代理字符串Mozilla/5.0(Windows; U; Windows NT 6.0; en-US; rv:1.9.1.16)Gecko/20101130 Firefox/3.5.16(.NET CLR 3.5.30729) – Mahantesh 2010-12-13 05:23:32

+0

@Mahantesh:「我可以用」是什麼意思?你在寫自己的客戶嗎?如果是的話,是的,你可以使用任何你想要的字符串。 – casablanca 2010-12-13 05:26:40

+0

但是,當我使用這個用戶代理字符串,internetreadfile總是回退-1,但我想0。 – Mahantesh 2010-12-13 05:31:36

0

我的建議是使用Internet Explorer的用戶代理。而IE的用戶代理取決於你已經安裝了什麼軟件,通過安裝下載管理器,該軟件會將其ID加入用戶代理,IEfirefox(取決於下載管理器)。

知道什麼是你的用戶代理,在IE或者FF類型的地址欄中輸入:javascript:alert(navigator.userAgent)

在對話框中按Ctrl + C複製內容

0
hINetOpen = InternetOpen(_T("SplashID"), INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);//AK 
    if (hINetOpen != NULL){ 
     hINetConnect = InternetConnect(hINetOpen, sServerName, INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, INTERNET_FLAG_IDN_PROXY, 0); 
     if (hINetConnect != NULL){ 
      hINetRequest = HttpOpenRequest(hINetConnect, _T("POST"), sObjectName, HTTP_VERSION, 0, NULL, INTERNET_FLAG_RELOAD |INTERNET_FLAG_IGNORE_CERT_CN_INVALID | SECURITY_FLAG_IGNORE_UNKNOWN_CA | INTERNET_FLAG_IGNORE_CERT_DATE_INVALID | INTERNET_FLAG_NO_AUTO_REDIRECT | INTERNET_FLAG_PRAGMA_NOCACHE | INTERNET_FLAG_NO_CACHE_WRITE, 0); 
      if (hINetRequest != NULL){      
       if(HttpSendRequest(hINetRequest, strHeaders, strHeaders.GetLength(), (LPVOID) StrFormdata.GetString(), StrFormdata.GetLength())) { 
        CString sBodyText; 
        DWORD nRead= 1024; 
        char szBuf[ 1025 ] = {0}; 
        while (nRead > 0) { 
          // Read in a temporary buffer 
         InternetReadFile(hINetRequest, szBuf, 1024, &nRead); 
         szBuf[nRead] = '\0'; 
         sBodyText = szBuf; 
         result = atoi(szBuf); 
         break; 
        } 
       } 
      } 
     }