Heim Backend-Entwicklung PHP-Tutorial HttpQueryInfo报错,该怎么处理

HttpQueryInfo报错,该怎么处理

Jun 13, 2016 am 10:42 AM
buffer printf quot

HttpQueryInfo报错
file1.php

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->    $file = "D:\\ReadFileTo.txt";    $handle = fopen($file, 'r');    $sContent = '';    while(false != ($a = fread($handle, 8080))){//返回false表示已经读取到文件末尾        $sContent .= $a;    }        fclose($handle);    echo "$sContent";
Nach dem Login kopieren


vc(输出file1.php):
C/C++ code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include "stdafx.h"#include <stdio.h>#include <stdlib.h>#include<windows.h>  #include<wininet.h>  #include<iostream.h>  #pragma comment(lib,"wininet.lib")  #define DATA_CACHE_SIZE 1024*10int main(int argc, char* argv[]){    printf("Hello World!\n");    int i = 0;    char pulr[] = "file1.php";    HINTERNET hinternet=::InternetOpen(                 "http generic",                 INTERNET_OPEN_TYPE_PRECONFIG,                 NULL,                     NULL,                 0);    if (!hinternet)    {        printf("InternetOpen\n");        system("pause");        return 0;    }    i = 1;    HINTERNET hconnect= ::InternetConnect(                          hinternet,                          "144.20.80.27",                          8080,                          NULL,                                //lpszUsername                          NULL,                                //lpszPassword                          INTERNET_SERVICE_HTTP,                          0,                                //dwFlags                          0                                    //dwContext                          );    if (!hconnect)    {        printf("InternetConnect\n");        system("pause");        return 0;    }            HINTERNET hHttpOpenRequest=::HttpOpenRequest(                        hconnect,                        "POST",                        pulr,                        "HTTP/1.1",                        NULL,                        0,                        INTERNET_FLAG_RELOAD,                        0            );    if (!hHttpOpenRequest)    {        printf("HttpOpenRequest\n");        system("pause");        return 0;    }    char psHeader[] = "Content-Type: application/x-www-form-urlencoded \n\r";    if (!(HttpAddRequestHeaders(        hHttpOpenRequest,         psHeader,         strlen(psHeader),         HTTP_ADDREQ_FLAG_REPLACE|HTTP_ADDREQ_FLAG_ADD        )) )    {        printf("HttpAddRequestHeaders\n");        system("pause");        return 0;    }    char *strRet=""; //"Yjr|fc|zf|cym|wjf||role1|role2|role3|role4";    char pstrContent[] = "UserName=admin&Password=-1";    if (! (HttpSendRequest(        hHttpOpenRequest,        NULL,        0,        (LPVOID)(LPCSTR)pstrContent,        strlen(pstrContent)                    )) )    {        printf("HttpSendRequest\n");        system("pause");        return 0;    }    // Get the length of the file.                DWORD dwFileSize=0;    DWORD dwLengthBufQuery = sizeof(dwFileSize);    DWORD dwIndex=0;        BOOL bQuery = ::HttpQueryInfo(hHttpOpenRequest,        HTTP_QUERY_CONTENT_LENGTH        |HTTP_QUERY_FLAG_NUMBER,         (LPVOID)&dwFileSize/*bufQuery*/,         &dwLengthBufQuery,        &dwIndex) ;    if (!bQuery)    {        printf("HttpQueryInfo\n");        system("pause");        return 0;    }    // Allocate a buffer for the file.       char* buffer = new char[dwFileSize+1] ;            //由于不允许HTTP写缓存,所以无需循环调用InternetReadFile    DWORD dwLength=0;    DWORD dwLengthOne=1;    BOOL bRead=TRUE;    char bufferOne[DATA_CACHE_SIZE+10];    strcpy(buffer,"");    while (bRead && dwLengthOne>0)    {        strcpy(bufferOne,"");        if (InternetReadFile(                hHttpOpenRequest,                bufferOne,                DATA_CACHE_SIZE+1,                &dwLengthOne                )            )         {            if (dwLengthOne>0)            {                memcpy(&buffer[dwLength],bufferOne,dwLengthOne);                dwLength+=dwLengthOne;                //接收数据包的大小和与总数据包大小比较                if (dwLength > dwFileSize)                {                    printf("while\n");                    system("pause");                    return 0;                }                buffer[dwLength]='\0';            }        }    }    buffer[dwLength]='\0';    //to widerchar    DWORD dwSize = MultiByteToWideChar (CP_ACP, 0, buffer, -1, NULL, 0);      WCHAR *wchr = new WCHAR [dwSize];    ::MultiByteToWideChar(CP_ACP,MB_ERR_INVALID_CHARS,buffer,-1,                 wchr,dwSize);    printf(buffer);//    wprintf(wchr);    delete [] wchr;    delete [] buffer;            ::InternetCloseHandle(hHttpOpenRequest);hHttpOpenRequest=NULL;    ::InternetCloseHandle(hconnect);hconnect=NULL;    ::InternetCloseHandle(hinternet);hinternet=NULL;    printf("\n");    system("pause");    return 0;}<div class="clear">
                 
              
              
        
            </div></iostream.h></wininet.h></windows.h></stdlib.h></stdio.h>
Nach dem Login kopieren
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Wo ist Linux printf? Wo ist Linux printf? Mar 10, 2023 am 09:05 AM

Linux printf wird in der Befehlszeile verwendet. Dieser Befehl wird zum Formatieren von Druckdaten verwendet. Das Befehlsformat von printf ist „printf FORMAT [ARGUMENT]...printf OPTION“, wobei die Option „help“ die Anzeige von Hilfeinformationen bedeutet Die Option „Version“ bedeutet Versionsinformationen anzeigen.

Was ist das Konzept von Buffer in Java? Was ist das Konzept von Buffer in Java? Apr 28, 2023 pm 05:13 PM

1. Konzept der Verwendung von JavaNIOBuffers zur Interaktion mit NIOChannel. Das Lesen von Daten vom Kanal in den Puffer und das Schreiben von Daten vom Puffer in den Kanal müssen die drei Eigenschaften des Puffers steuern, nämlich Kapazität, Position, Position und Grenze. 2. Instanz publicstaticvoidmain(String[]args){//Generieren Sie einen Puffer mit einer Länge von 10IntBufferintBuffer=IntBuffer.allocate(10);for(inti=0;i

Was ist der Unterschied zwischen putchar und printf? Was ist der Unterschied zwischen putchar und printf? Aug 22, 2023 pm 01:55 PM

Der Unterschied zwischen putchar und printf: 1. Der Parametertyp von putchar ist int und der Parametertyp von printf ist string; 2. putchar kann nur ein Zeichen ausgeben, und printf kann mehrere Zeichen ausgeben. 3. putchar kann die Ausgabe nicht formatieren printf kann es formatieren. 4. putchar hat keinen Rückgabewert, printf gibt die Anzahl der erfolgreich ausgegebenen Zeichen zurück, printf ist nicht auf die Ausgabe auf die Konsole beschränkt.

Der Unterschied zwischen fprintf und printf Der Unterschied zwischen fprintf und printf Nov 28, 2023 am 10:48 AM

Der Unterschied zwischen fprintf und printf besteht darin, dass das Ausgabeziel unterschiedlich ist. printf gibt die Ausgabe an den Standardausgabestream aus, während fprintf an den angegebenen Dateistream ausgibt. Wählen Sie die entsprechende Funktion aus, um bei Bedarf Ausgabevorgänge durchzuführen. Es ist zu beachten, dass die Funktion fprintf die Datei zuerst über die Funktion fopen öffnen und die Datei nach der Verwendung über die Funktion fclose schließen muss. Darüber hinaus ist eine Fehlerbehandlung erforderlich, wenn das Öffnen der Datei fehlschlägt oder ein Betriebsfehler auftritt.

Welche Methoden und Verwendungsszenarien gibt es für die Verwendung von Buffer für IO-Stream-Operationen in Java? Welche Methoden und Verwendungsszenarien gibt es für die Verwendung von Buffer für IO-Stream-Operationen in Java? May 07, 2023 am 09:37 AM

Verwendung von Buffer für I/O-Stream-Operationen Zusätzlich zu NIO gibt es zwei grundlegende Methoden für die Verwendung von Java zur Durchführung von I/O-Operationen: Verwendung von Methoden, die auf InputStream und OutputStream (Byte-Streams) basieren, unter Verwendung von Writer und Reader. (Zeichenstrom) Unabhängig davon, welche Methode für Datei-E/A verwendet wird, kann die E/A-Leistung effektiv verbessert werden, wenn die Pufferung sinnvoll genutzt werden kann.

不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没有关问题 不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没有关问题 Jun 13, 2016 am 10:15 AM

不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没问题。

图片消失怎么解决 图片消失怎么解决 Apr 07, 2024 pm 03:02 PM

图片消失如何解决先是图片文件上传$file=$_FILES['userfile'];  if(is_uploaded_file($file['tmp_name'])){$query=mysql_query("INSERT INTO gdb_banner(image_src ) VALUES ('images/{$file['name'

See all articles