2010-12-13 7 views
0

Я отправляю запрашивающий запрос uisng «POST», в макинтош платформенный агент uaser - 10.6.2. Но в windows waht есть пользовательский агент платформы.Что такое платформа useragent для windows platfom?

+0

зачем вам нужен агент пользователя ? – mpen

+1

И почему, черт возьми, он помечен C++? Однако доверять пользовательскому агенту очень плохая идея. И этот вопрос слишком непонятен, чтобы действительно иметь смысл для меня. – dvhh

ответ

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

+0

@Mahantesh: Что вы подразумеваете под «я могу использовать»? Вы пишете собственный клиент - если да, то вы можете использовать любую нужную строку. – casablanca

+0

Но когда я использую это как строку пользовательского агента, Internetreadfile всегда перенастраивает -1, но мне нужно 0. – Mahantesh

0

Мое предложение - использовать пользовательский агент Internet Explorer. Пользовательский агент IE зависит от того, какое программное обеспечение вы установили, установив диспетчер загрузки, программное обеспечение добавит его идентификатор в пользовательский агент, для IE & firefox (в зависимости от менеджера загрузки).

Чтобы узнать, что ваш UserAgent, в адресной строке 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; 
        } 
       } 
      } 
     }