سلام مشکل سر همون قالب و ساختار ارسال اطلاعاته
دیگه واضح با مثال میگم تا عین مشکل رو ببینید:
ما می تونیم در همین ساختار ارسال اطلاعات با HTTP AT COMMAND ها هم با متد GET و هم با متد POST اطلاعات رو بفرستیم.
که ما تو روش ارسال با POST مشکل داریم. برای واضح شدن هردو رو توضیح میدم:
در روش GET بعد از اتصال به tcp و گرفتن ip میفرستیم:
کد:
AT+HTTPINIT
AT+HTTPPARA="CID",1
AT+HTTPPARA="URL","http://requestb.in/qpu8eyqp"
AT+HTTPDATA=12,10000
name=1234456
AT+HTTPACTION=0
این دستورات مقدار name=123456 رو بصورت query string به سایت requestb.in که خودتون معرفی کردین میفرسته
یعنی توی سایت اطلاعاتی که دریافت میشه از نوع get و با مقدار دهی کنترل name با مقدار 123456 می باشد. که کاملا درست است.
و در روش POST بعد از اتصال به tcp و گرفتن ip میفرستیم:
کد:
AT+HTTPINIT
AT+HTTPPARA="CID",1
AT+HTTPPARA="URL","http://requestb.in/qpu8eyqp"
AT+HTTPDATA=12,10000
name=1234456
AT+HTTPACTION=1
در این ارسال، سایت ارسال اطلاعات به روش POST رو تایید میکنه ولی چیزی به عنوان مقدار دریافتی کنترل name دریافت نمیکنه.
حالا من یه سرچی زدم تا ببینم در ارسال POST چه جوری باید اطلاعات رو فرستاد که تو سایت edaboard هم همین مساله مطرح شده بود و طرف اینجوری ارسال کرده بود و باز هم مشکل داشت:
کد:
AT+HTTPINIT
AT+HTTPPARA="CID",1
AT+HTTPPARA="URL","http://requestb.in/qpu8eyqp"
AT+HTTPDATA=138,10000
POST http://requestb.in/qpu8eyqp
Content-Length: 414
Content-Type: application/x-www-form-urlencoded
var_a=444&var_b=sample+data
AT+HTTPACTION=1
که این روش هم جواب نداد :angry:
رفتم یه سرچ دیگه زدم تا ببینم تبدیل شده ارسال اطلاعات به روش POST تو قالب html چیه، که به نتیجه زیر رسیدم:
کد:
POST / HTTP/1.1
Host: requestb.in
Content-Type: application/x-www-form-urlencoded
Content-Length: 13
say=Hi&to=Mom
این هم جواب نداد :angry:
البته این دوتا رو به روش های مختلف و زیاد دیگه هم با هم ادغام کردم ولی بازهم به نتیجه ای نرسیدم.
oo:
اما جالبه که برای تست اینکه اصلا سایت درسته و اطلاعاتی که به روش POST میفرستی چه جوری دریافت میشه، تست رو با یه فایل php انجام دادم وکد زیر رو توش نوشتم:
کد:
<html>
<head>
</head>
<body>
<form method="post" action="http://requestb.in/qpu8eyqp">
<input type="text" name="example_text">
<input type="submit" value="Submit">
</form>
</body>
</html>
که دیدم تو سایت کاملا صحیح مقدار فرم سابمیت میشه و دریافت میشه.
پس دوباره اصل مشکل رو میگم:
تو قسمت ارسال دیتا در روش POST چه جوری و با چه ساختاری باید اطلاعات رو بفرستی؟؟؟
این هم یک نمونه دیتا که ظاهرا درسته ولی جواب نداد:
[code=c]
POST http://requestb.in/qpu8eyqp
Content-Length: 11
Content-Type: application/x-www-form-urlencoded
name=123456[/code]