VB6 programma omzetten naar C

Status
Niet open voor verdere reacties.

retep001

Nieuwe gebruiker
Lid geworden
22 dec 2013
Berichten
2
Hallo allamaal hier,

Ik ben bezig (proberen) een VB6 prgramma om te zetten in C

Nu ben ik al een heel eind alleen moet de opdracht string naar een website url verstuurd worden
Indien de boodschap goed ontvangen is dan antwoord OK

In VB6 ging dat zo
Code:
If sendHTTPMessage Then

        On Error GoTo errorHandler:
     
        Debug.Print strValue
        strValue = URLEncode(strValue)  // haalt ongewenste characters weg in dien deze in de opdracht voorkomen
        
        
        strUrl = "http://10.10.10.100:85/Alarm.do?" & strValue
        log ("url string :" & strUrl)
        strAgent = "Mozilla/4.0 (compatible:MyApp 1.0;Windwos NT 5.1)"
        
       [B] //hier begint de vraag
        Set objHTTP = CreateObject("WinHttp.winHttpRequest.5.1")
        objHTTP.Open "GET", strUrl, False
        objHTTP.SetrequestHeader "User-Agent", strAgent
        
        On Error Resume Next
        objHTTP.send [/B]


        intstatus = objHTTP.Status
        StrResult = objHTTP.ResponseText
        If InStr(StrResult, "ok") Then
            Debug.Print StrResult
            log ("ok: " & StrResult)
        Else
            Debug.Print StrResult
            log ("fail: " & StrResult)
        End If
End If
 log (StrResult)
Exit Sub

Hoe doe ik dat in C? Ik zit eigenlijk te zoeken naar een stukje voorbeeld in C, alleen zoeken met google met C in de zoekterm is zo lekker kansloos
Het gaat om het stukje bold text
 
misschien heb je met zoeken met "WinHttp.winHttpRequest in c language" meer succes.
 
misschien heb je met zoeken met "WinHttp.winHttpRequest in c language" meer succes.

Kijk dat was al een goed hint.

Ik heb inmiddels een socket werkende

Code:
#include <stdio.h>
#include <stdlib.h>
#include <winsock2.h>
#pragma comment (lib,ws2_32.lib) // winsock library


int main(int argc, char *argv[])
{
    printf("Hello start *************\n\r");
    //vars
    WSADATA wsa;
    SOCKET s;
    struct sockaddr_in server;

    char *message = "GET Mozilla/4.0 (compatible:MyApp 1.0;Windwos NT 5.1)\r\n\r\n\ ";
    char server_reply[2000];
    int recv_size;

    //vars end
    printf("initialize winsock....\n\r");
    if (WSAStartup(MAKEWORD(2,2),&wsa) !=0)
    {
        printf("Failed Init. Error code : %d\n\r",WSAGetLastError());
        return(1);
    }
    printf("Initialized ok. \n\r");

      s = socket(AF_INET, SOCK_STREAM,0);
     if (s == INVALID_SOCKET )

    {
        printf("Could not create socket : %d", WSAGetLastError());
        return(2);
    }
    printf("Socket created. %d \n\r",socket);
    // create connection
    server.sin_family = AF_INET;
    server.sin_port = htons(80);
    server.sin_addr.s_addr = inet_addr("83.247.10.120");   // www.helpmij.nl
    printf("adres : \n\r");
    if (connect(s,(struct sockaddr *)&server, sizeof(server)) < 0)
    {

           puts("connect error");
        return(1);
    }
    puts("connected");



    // send some data
   // message = "GET /HTTP/1.1\r\n\r\n\ ";
  //   message = "GET ";
   // strcat( message, requesthead);
    printf("message : %s \n\r\ ",message);
    if ( send(s, message, strlen(message),0)<0)
    {
        puts("send failed");
        return(1);
    }
    puts("data send \n\r");

      //receive data
    if ((recv_size = recv(s,server_reply,2000,0))== SOCKET_ERROR)
    {
        puts("recv fail");
        return(1);
    }

    puts("reply received \n\r");
    //add null terminating character to make proper string
    server_reply[recv_size] = '\0';
    puts(server_reply);

    closesocket(s);
    WSACleanup();
    return 0;
}

als antwoord krijg al iets terug
Code:
Hello start *************
initialize winsock....
Initialized ok.
Socket created. 4199860
adres :
connected
message : GET Mozilla/4.0 (compatible:MyApp 1.0;Windwos NT 5.1)


 data send

reply received

HTTP/1.1 400 Bad Request
Date: Sun, 02 Dec 2018 11:21:36 GMT
Server: Apache
Content-Length: 226
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
</body></html>
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan