Comments (3)
Most of HTTP servers require and check properly filled "Host" header. Please try in your example this sample:
void Request(const std::string& url)
{
auto& req = request();
req.Clear();
req.SetBegin("GET", url);
req.SetHeader("Host", address + ":" + std::to_string(port));
req.SetBody();
auto response = SendRequest(req).get();
if (response.status() == 200)
++total_messages;
else
++total_errors;
}
from cppserver.
Hi, Thanks for replying to my question so quickly! Unfortunately, I'm still having the same problem. The program just stops forever at the SendRequest line. Is there anything else that I could try? This is how I modified the code snippet that you sent:
auto& req = client->request();
req.Clear();
req.SetBegin("GET", "/");
req.SetHeader("Host", "127.0.0.1:8080");
req.SetBody("foo");
std::cout << "sending request..." << std::endl;
auto response = client->SendRequest(req).get();
if (response.status() == 200)
++total_messages;
else
++total_errors;
Thanks,
Conrad
from cppserver.
Hi,
I'm experiencing similar client issues (be it HTTP Client or HTTPS Client).
Somehow, I can reach servers running on my machine, but not ones on the web (eg. http://httpbin.org).
Trying to send a basic get request to http://httpbin.org/get using the following code snippet
auto service = std::make_shared<CppServer::Asio::Service>();
CppServer::HTTP::HTTPResponse testResponse;
CppServer::HTTP::HTTPRequest testRequest;
testRequest.Clear();
testRequest.SetBegin("GET", "/get");
testRequest.SetHeader("Host", "http://httpbin.org");
testRequest.SetBody();
auto testClient = std::make_shared<CppServer::HTTP::HTTPClientEx>(service, "http://httpbin.org", "http");
testResponse.Clear();
testResponse = testClient->SendRequest(testRequest, CppCommon::Timespan::seconds(10)).get();
will, as Conrad pointed out, hang at the last line forever. Using the ipv4 address and port instead of the URL does not help either.
I also wonder why the timeout does not hit.
Sadly, like this, the library is not really useful.
from cppserver.
Related Issues (20)
- WHERE IS THE BUILD FOLDER ? HOT 1
- [help][docs] Sample project please
- Unable to compile sample UDP echo server HOT 3
- build error HOT 2
- M1 Mac stuck on UDP server tests
- HttpRequests doesn't work? HOT 8
- How to contorl tcp or udp transmission rate?
- Mac build error
- module not found anymore
- not handle websocket close status code
- install using vcpkg HOT 1
- Support PIC/user-defined build options HOT 2
- Memory leak HOT 1
- build HOT 2
- How to Use UDP Broadcast in Linux?
- Build Error in CppCommon
- Request: Allow specifying OpenSSL path HOT 1
- how to get the form-data?
- SSLClient ReconnectAsync() Access Violation on Windows Debug build
- I am getting wstring_convert deprecated error. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cppserver.