我客户端是用 libcurl 库的 用http 给服务端发出请求的 不是用socket的 PHP应该怎么写才能收到请求
回复讨论(解决方案)
你先
file_put_contents('test.txt', 'get:' . print_r($_GET, 1) . 'post:' . print_r($_POST, 1));
看看 test.txt 中哪段有内容
如果使用的是HTTP协议的GET方法,数据保存在$_GET数组中.
如果使用的是HTTP协议的POST方法,数据通常保存在$_POST数组中.
注:如果post方法没有指出数据类型,提交的数据可以通过$HTTP_RAW_POST_DATA获取.
找到数据后可以通过json_decode函数处理下即可转换成数组或对象.
直接输出
print_r($_POST);ECHO "111";
pint_r($_GET);
你先
file_put_contents('test.txt', 'get:' . print_r($_GET, 1) . 'post:' . print_r($_POST, 1));
看看 test.txt 中哪段有内容
print_r($_POST, 1) 我直接打这个什么都没看到。。。 奇怪 我客户端就是发的是字符串
你直接 print_r($_POST) 给谁看?给客户端?
那你客户端有显示回传数据的代码吗?
所以我让你 print_r($_POST, 1) 到文件,这样才好检查呀
get:Array
(
)
post:Array
(
)
我收到的是这个哈 还是什么都没有..蛋疼
你直接 print_r($_POST) 给谁看?给客户端?
那你客户端有显示回传数据的代码吗?
所以我让你 print_r($_POST, 1) 到文件,这样才好检查呀
get:Array
(
)
post:Array
(
)
我收到的是这个哈 还是什么都没有..蛋疼
再
file_put_contents('test.txt', file_get_contents('php://input'));
看看
进来学习的,抱歉,没帮到忙
再
file_put_contents('test.txt', file_get_contents('php://input'));
看看
什么都没有了..
你能确定客户端发了数据吗?
确定 是不是解码问题的 我客户端是用c++ libcurl post发的
你能确定客户端发了数据吗? 确定 是不是解码问题的 我客户端是用c++ libcurl post发的
你都没有收到数据,何来的解码?
有可能的话,请贴出 C++ 的代码片段
有可能的话,请贴出 C++ 的代码片段
#include "HHttp.h"
#include "json.h"
//导入curl头文件
#include "../libs/cocos2dx/platform/third_party/ios/curl/curl.h"
bool HHttp::pServer(){
//------------------------
CURL *curl; // 初始化 CURL 结构
CURLcode res;
res = curl_global_init(CURL_GLOBAL_ALL);//初始化所有的可能的调用。
if (res != CURLE_OK)
{
printf( "Failed to global init default [%d]\n", res );
return false;
}
// curl = curl_easy_init();
// Json::FastWriter writer;
// Json::Value root;
// root["action"] = "device";
// std::string json_file=writer.write(root);
if (curl)
{
std::string cc;
curl_easy_setopt( curl, CURLOPT_URL, "http://127.0.0.1/ceshi/ceshi.php"); //请求的地址
curl_easy_setopt(curl, CURLOPT_POST, true); //启用POST提交
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "account=zhycheng"); //发送的数据
curl_easy_setopt( curl, CURLOPT_FOLLOWLOCATION, 1L);
curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,write_data); //处理的函数
curl_easy_setopt( curl, CURLOPT_WRITEDATA, &cc); //缓冲的内存
res = curl_easy_perform(curl);// post
if(res != CURLE_OK){
if (CURLE_OPERATION_TIMEDOUT == res) //连接失败 超时
{
CCMessageBox("请重新尝试请求!", "网络连接超时");
CCLog("网络超时:错误信息:%s\n",curl_easy_strerror(res));
return 0;
}
CCMessageBox("请重新尝试请求!", "网络连接超时");
CCLog("raw_send_recv : 启动 CURL 失败,错误信息:%s\n",curl_easy_strerror(res));
return 0;
}
CCLog("~Send Data Done~~");
//清理 curl 结构,释放资源等
curl_easy_cleanup(curl);
} else {
CCLog("raw_send_recv : 初始化 CURL 失败 \n");
return 0;
}
return true;
}
int allLength;//总流长度
std::vector
//服务器有数据返回的时候就会调用这个函数
size_t HHttp::write_data(uint8_t *dataPtr, size_t size, size_t nmemb, void *stream) {
int len = size * nmemb;
if(len!=1440){
CCLog("收到服务器数据,返回的数据长度 : %i",allLength);
}else{
allLength+=len;
allData.push_back(dataPtr);
}
size_t sizes = size * nmemb;
return sizes;
}
你这样写对吗?
一般这么写
// 初始化libcurl
CURLcode return_code;
return_code = curl_global_init(CURL_GLOBAL_WIN32);
if (CURLE_OK != return_code)
return 0;
CURL *curl_handle;
CURLcode res;
curl_handle = curl_easy_init();
curl_easy_setopt(curl_handle, CURLOPT_URL, url);
....
你虽有
CURL *curl;
但没有
curl = curl_easy_init();
那 if (curl) 分支能进去吗?
你这样写对吗?
一般这么写
// 初始化libcurl
CURLcode return_code;
return_code = curl_global_init(CURL_GLOBAL_WIN32);
if (CURLE_OK != return_code)
return 0;
CURL *curl_handle;
CURLcode res;
curl_handle = curl_easy_init();
curl_easy_setopt(curl_handle, CURLOPT_URL, url);
....
你虽有
CURL *curl;
但没有
curl = curl_easy_init();
那 if (curl) 分支能进去吗?
代码确实运行了哈 连接成功了哈..... 我应该怎么办

PHP仍然流行的原因是其易用性、靈活性和強大的生態系統。 1)易用性和簡單語法使其成為初學者的首選。 2)與web開發緊密結合,處理HTTP請求和數據庫交互出色。 3)龐大的生態系統提供了豐富的工具和庫。 4)活躍的社區和開源性質使其適應新需求和技術趨勢。

PHP和Python都是高層次的編程語言,廣泛應用於Web開發、數據處理和自動化任務。 1.PHP常用於構建動態網站和內容管理系統,而Python常用於構建Web框架和數據科學。 2.PHP使用echo輸出內容,Python使用print。 3.兩者都支持面向對象編程,但語法和關鍵字不同。 4.PHP支持弱類型轉換,Python則更嚴格。 5.PHP性能優化包括使用OPcache和異步編程,Python則使用cProfile和異步編程。

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

PHP在現代化進程中仍然重要,因為它支持大量網站和應用,並通過框架適應開發需求。 1.PHP7提升了性能並引入了新功能。 2.現代框架如Laravel、Symfony和CodeIgniter簡化開發,提高代碼質量。 3.性能優化和最佳實踐進一步提升應用效率。

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

Dreamweaver Mac版
視覺化網頁開發工具

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能