Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未打印winsock信息的网页_Php_Mysql_C - Fatal编程技术网

Php 未打印winsock信息的网页

Php 未打印winsock信息的网页,php,mysql,c,Php,Mysql,C,我正在尝试将数据从winsock应用程序发送到PHP脚本。我已经尝试过各种标题类型,但都没有成功,我似乎找不到足够的信息 数据已发送,但PHP脚本未打印任何结果,因此我认为错误在于类型 C Winsock代码 int main() { SOCKADDR_IN sock; SOCKET s; WSADATA wsa; int lengthofrequest = 0; char httprequest[180] = "POST /tes

我正在尝试将数据从
winsock
应用程序发送到PHP脚本。我已经尝试过各种标题类型,但都没有成功,我似乎找不到足够的信息

数据已发送,但PHP脚本未打印任何结果,因此我认为错误在于类型

C Winsock代码

    int main()
{
    SOCKADDR_IN sock;
    SOCKET s;
    WSADATA wsa;
    int lengthofrequest = 0;
    char httprequest[180] =
        "POST /test.php?name=alex&password=secret HTTP/1.1\r\n"
        "Host: 127.0.0.1\r\n"
        "Pragma: no-cache\r\n"
        "Content-type: text/html\r\n"
        "Connection: close\r\n"
        "Content-Length: 25\r\n"
        "\r\n";

    lengthofrequest = strlen(httprequest);

    // init winsock

    if (WSAStartup(MAKEWORD(2, 2), &wsa) != 0)
        return WSASYSNOTREADY;

    sock.sin_addr.s_addr = inet_addr("127.0.0.1");
    sock.sin_family = AF_INET;
    sock.sin_port = htons(80);

    // create socket

    s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    if (s == INVALID_SOCKET)
        return 1;

    // connect to the http panel

    int conn = connect(s, (SOCKADDR*)&sock, sizeof(sock));
    if (conn < 0)
        return 1;

    // send http header

    send(s, httprequest, lengthofrequest, 0);

    // close socket

    closesocket(s);
    WSACleanup();

    return 0;
}
intmain()
{
袜子里的袜子;
插座;
WSADATA wsa;
int lengthofrequest=0;
char httprequest[180]=
“POST/test.php?name=alex&password=secret HTTP/1.1\r\n”
“主机:127.0.0.1\r\n”
“Pragma:没有缓存\r\n”
“内容类型:text/html\r\n”
“连接:关闭\r\n”
“内容长度:25\r\n”
“\r\n”;
lengthofrequest=strlen(httprequest);
//初始化winsock
if(WSAStartup(MAKEWORD(2,2),&wsa)!=0)
回归平稳;
sock.sin_addr.s_addr=inet_addr(“127.0.0.1”);
sock.sin_family=AF_INET;
sock.sinu端口=htons(80);
//创建套接字
s=套接字(AF_INET、SOCK_STREAM、IPPROTO_TCP);
if(s==无效的_套接字)
返回1;
//连接到http面板
int conn=connect(s,(SOCKADDR*)和sock,sizeof(sock));
如果(连接<0)
返回1;
//发送http头
发送(s,httprequest,lengthofrequest,0);
//闭合插座
插座;
WSACleanup();
返回0;
}
PHP脚本

<?php
    if(isset($_POST['name'], $_POST['password']))
    {
       echo $_POST['name'];
       echo $_POST['password'];
    }
?>


我将感谢任何帮助或指导。谢谢。

您正在混合帖子并获得
使用$\u GET访问您的数据,因为您的数据已附加到url

试试这个:

<?php
    if(isset($_GET['name'], $_GET['password']))
    {
       echo $_GET['name'];
       echo $_GET['password'];
    }
因为您正在使用post发送get参数,而post正文实际上是空的


您还应该在php脚本的末尾省略?>

尝试将1.1更改为1.0
 "POST /test.php?name=alex&password=secret HTTP/1.1\r\n"