HTTP GET问题

时间:2015-09-05 14:26:26

标签: http

我正在尝试发送GET请求以生成接收地址(Blockchain api,https://blockchain.info/ru/api/api_receive) 在页面上我已经生成了请求 - “

  

/api/receive?method=create&cors=true&format=plain&address=1A8JiWcwvpY7tAopUkSnGuEYHmzGYfZPiq&shared=false&callback=http%3A%2F%2Fgoogle.com

并需要收到答案 -

  

{ “callback_url”: “http://google.com”, “input_address”: “16ofW1jBBLbVnDQWJsyL6NKq7hKms9tDLP”, “目的地”: “1A8JiWcwvpY7tAopUkSnGuEYHmzGYfZPiq”, “fee_percent”:0}“

我找到了示例代码并尝试发送请求

SOCKET Socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    struct hostent *host;
    host = gethostbyname("www.google.com");
    SOCKADDR_IN SockAddr;
    SockAddr.sin_port = htons(80);
    SockAddr.sin_family = AF_INET;
    SockAddr.sin_addr.s_addr = *((unsigned long*)host->h_addr);
    std::cout << "Connecting...\n";
    if (connect(Socket, (SOCKADDR*)(&SockAddr), sizeof(SockAddr)) != 0){
        std::cout << "Could not connect";
        return -1;
    }
    std::cout << "Connected.\n";
    send(Socket, "GET /api/receive?method=create&cors=true&format=plain&address=1A8JiWcwvpY7tAopUkSnGuEYHmzGYfZPiq&shared=false&callback=http://microsoft.com/ HTTP/1.1\r\nHost: blockchain.info\r\nConnection: close\r\n\r\n", strlen("GET /api/receive?method=create&cors=true&format=plain&address=1A8JiWcwvpY7tAopUkSnGuEYHmzGYfZPiq&shared=false&callback=http://microsoft.com/ HTTP/1.1\r\nHost: blockchain.info\r\nConnection: 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') {
            std::cout << buffer[i];
            i += 1;
        }
    }
    closesocket(Socket);
    return 1;
}       

但收到404错误。问题是什么,解析答案的最佳方法是什么(我需要得到“input_address”)?谢谢你的帮助!

0 个答案:

没有答案