Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
6 / 5 / 1
Регистрация: 02.10.2011
Сообщений: 111
1

301 Moved Permanently

27.12.2014, 18:34. Просмотров 945. Ответов 0
Метки нет (Все метки)

Подскажите пожалуйста, как мне сделать правильный запрос к серверу mail.ru? При вот таком варианте, мне приходит сообщение 301 Moved Permanently.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <winsock2.h>
#include <windows.h>
#include <iostream>
#pragma comment(lib,"ws2_32.lib")
using namespace std;
int main (){
    WSADATA wsaData;
    if (WSAStartup(MAKEWORD(2,2), &wsaData) != 0) {
        cout << "WSAStartup failed.\n";
        system("pause");
        return 1;
    }
    SOCKET Socket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
    struct hostent *host;
    host = gethostbyname("www.mail.ru");
    int errhost=WSAGetLastError();
    SOCKADDR_IN SockAddr;
    SockAddr.sin_port=htons(80);
    SockAddr.sin_family=AF_INET;
    SockAddr.sin_addr.s_addr = *((unsigned long*)host->h_addr);
    cout << "Connecting...\n";
    if(connect(Socket,(SOCKADDR*)(&SockAddr),sizeof(SockAddr)) != 0){
        cout << "Could not connect";
        system("pause");
        return 1;
    }
    cout << "Connected.\n";
    send(Socket,"GET / HTTP/1.1\r\nHost: [url]www.mail.ru\r\nConnection:[/url] close\r\n\r\n",
 strlen("GET / HTTP/1.1\r\nHost: [url]www.mail.ru\r\nConnection:[/url] close\r\n\r\n"),0);
    char buffer[10000];
    int nDataLength;
    while ((nDataLength = recv(Socket,buffer,10000,0)) > 0){        
        int i = 0;
        while (buffer[i] >= 32 || buffer[i] == '\n' || buffer[i] == '\r') {
            cout << buffer[i];
            i += 1;
        }
    }
    closesocket(Socket);
        WSACleanup();
    system("pause");
    return 0;
}
Когда вместо
C++
1
2
 send(Socket,"GET / HTTP/1.1\r\nHost: [url]www.mail.ru\r\nConnection:[/url] close\r\n\r\n",
 strlen("GET / HTTP/1.1\r\nHost: [url]www.mail.ru\r\nConnection:[/url] close\r\n\r\n"),0);
посылаю
C++
1
2
send(Socket,"GET / HTTP/1.1\r\nHost: [url]https://mail.ru\r\nConnection:[/url] close\r\n\r\n", 
strlen("GET / HTTP/1.1\r\nHost: [url]https://mail.ru\r\nConnection:[/url] close\r\n\r\n"),0);
то вообще не может подключиться. И вообще как правильно обрабатывать 301 moved permanently? Заранее благодарен.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.12.2014, 18:34
Ответы с готовыми решениями:

Сервер выдает 301 Moved Permanently
Всем привет, передаю такой вот HTTP запрос: GET / HTTP/1.1\r\n Host: www.php.ru\r\n...

301 moved permanently
Есть некий код который парсит инфу с кинопоиска так вот они что-то у себя изменили код перестал...

Why nginx works with error 301 HTTP1.1/Moved permanently?
Настраиваю location в nginx. Столкнулся с проблемкой: Следующий URI отрабатывает корректно:...

Не могу скачать файл с данного сервиса Файлы@Mail.ru, все время появляется ошибка: 301 Moved Permanently
Не могу скачать файл с данного сервиса Файлы@Mail.ru, все время появляется эта ошибка. Можно...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.12.2014, 18:34

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Авторизация HTTP/ Moved Permanently
procedure TForm1.Button1Click(Sender: TObject); var StrPage,ssylka:string; Log:TstringList;...

При заходе на сайты про майнкрафт выдает ошибку Moved Permanently
Помогите пожалуйста при заходе на сайты про майнкрафт выдает ошибку Moved Permanently The...

YOU WILL BE BANNED PERMANENTLY
Вот зашел на http://www.pageranktool.net - решил посмотреть ПР своего сайта. Получил такой...

Moved Temporarily
Работаю с YouTube API.Получаю токен, отправляю видео и т.д. Все работает, но есть небольшая...

HTTP/1.0 302 Moved Temporarily
В Firemonkey Windows код работает, а вот под андроид нет :( выводит HTTP/1.0 302 Moved Temporarily...

заклинило, bool->char, конструкция if(!moved)
в ардуине был тип bool переделываю в char, как правильно переделать if(!moved) для типа char?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.