Я зеленый ручной кодер из Китая. Я столкнулся с некоторой проблемой при использовании google-geocoding-api, это правильно, когда я отлаживаю с помощью следующего кода, но нет ответа, когда я использую скомпилированный файл .exe в режиме выпуска. Потому что я нахожусь в Китае. Я могу просто использовать сетевой агент для посещения URL ,, поэтому я не знаю, проблема ли это в работе сети или в моем коде. Может ли кто-нибудь помочь мне попробовать следующий код, чтобы проверить именно проблему.
// street_name.cpp :
#include "stdafx.h"#include <iostream>
#include <fstream>
#include <Windows.h>
#include <wininet.h>
using namespace std;
#define MAXBLOCKSIZE 500
#pragma comment (lib, "wininet.lib")
void download(const char*);
int main(int argc, char* argv[]){
const char *cUrl = NULL;
char Url[512];
float lat = 45.798748;
float lng = 126.531115;
sprintf(Url,"https://maps.googleapis.com/maps/api/geocode/xml?latlng=45.797749,126.523811&result_type=route&address_component_type=route&key=AIzaSyC6M3Pbbjdrgtl8QZjuJPK-1JdAJD5oEgA",lat,lng);
cUrl = Url;
download(cUrl);if (argc > 1)
{
download((const char*)argv[1]);
}
else
{
cout << "Usage: auto-Update url";
}
return 0;
}
/**
*
* @param Url: The target action url
*
*/
void download(const char *Url)
{
HINTERNET hSession = InternetOpenA("RookIE/1.0", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
string StreetName;
if (hSession != NULL)
{
HINTERNET handle2 = InternetOpenUrlA(hSession, Url, NULL, 0, INTERNET_FLAG_DONT_CACHE, 0);
if (handle2 != NULL)
{
cout << Url << endl;
byte Temp[MAXBLOCKSIZE] = {0};
ULONG Number = 1;
int i = 0;
ofstream ofs("baidu.txt");
if (ofs)
{
while (Number > 0)
{
InternetReadFile(handle2, Temp, MAXBLOCKSIZE - 1, &Number);
string a = string((const char*)Temp,Number);
ofs << a.c_str();
StreetName += a;
}
ofs.close();
}
InternetCloseHandle(handle2);
handle2 = NULL;
}
InternetCloseHandle(hSession);
hSession = NULL;
}
}
Если ваши запросы поступают из Китая, возможно, HTTPS-запросы заблокированы. Попробуйте HTTP.
Я думаю, что это может быть связано с https://meta.stackexchange.com/questions/191338/https-problem-when-accessing-stack-overflow-in-china
Других решений пока нет …