HTTP Post запрос в мармелад C++
У меня есть база данных MySQL, настроенная на прием имен через python:
class PushNames(tornado.web.RequestHandler):
def post(self):
firstname = self.get_argument('firstname','')
surname = self.get_argument('surname','')
cursor = cnx.cursor()
SQL = """insert into Names values ('""" + str(firstname) + """', '""" + str(surname) + """');"""
cursor.execute( SQL )
cursor.close()
Я могу добавить имена к этому, используя cURL следующим образом:
curl --data "firstname=John&surname=Smith" http://ip.address/pushnames
Однако я пытаюсь добиться этого с помощью встроенного в Marmalade "IwHTTP.h". Им не хватает примеров, поэтому у меня возникли проблемы с поиском того, как этого добиться. Это их пример кода для выполнения почтового запроса:
theHttpObject->SetRequestHeader("Authorization", buf);
theHttpObject->SetRequestHeader("Cache-Control", "max-age=0");
theHttpObject->SetRequestHeader("Accept", "application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5");
theHttpObject->SetRequestHeader("Accept-Encoding", "gzip,deflate,sdch");
theHttpObject->SetRequestHeader("Accept-Language", "en-GB");
theHttpObject->SetRequestHeader("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.3");
if (theHttpObject->Post(HTTP_URI, NULL, 0, GotHeaders, NULL) == S3E_RESULT_SUCCESS)
status = kDownloading;
Во всяком случае, это только смутило меня больше. Любая помощь или идеи будут с благодарностью. В случае, если это поможет, их документацию по классу HTTP можно найти здесь: http://api.madewithmarmalade.com/classCIwHTTP.html
1 ответ
Решение
Догадаться. На случай, если это кому-нибудь понадобится:
theHttpObject = new CIwHTTP();
theHttpObject->SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
char* msg = "firstname=John&surname=Smith";
theHttpObject->Post(HTTP_URI, msg, strlen(msg), GotHeaders, NULL);