Пример #1
0
char *HTTP_Request(URL *Url,Header *request_head,Body *request_body)
{
 char *msg=NULL,*head;

 /* Make the request OK for a proxy or not. */

 if(proxyUrl)
    MakeRequestProxyAuthorised(proxyUrl,request_head);
 else
    MakeRequestNonProxy(Url,request_head);

 /* Send the request. */

 head=HeaderString(request_head);

 if(proxyUrl)
    PrintMessage(ExtraDebug,"Outgoing Request Head (to proxy)\n%s",head);
 else
    PrintMessage(ExtraDebug,"Outgoing Request Head (to server)\n%s",head);

 if(write_string(server,head)==-1)
    msg=GetPrintMessage(Warning,"Failed to write head to remote HTTP %s; [%!s].",proxyUrl?"proxy":"server");
 if(request_body)
    if(write_data(server,request_body->content,request_body->length)==-1)
       msg=GetPrintMessage(Warning,"Failed to write body to remote HTTP %s; [%!s].",proxyUrl?"proxy":"server");

 free(head);

 return(msg);
}
Пример #2
0
char *SSL_Request(int client,URL *Url,Header *request_head)
{
 char *msg=NULL;

 if(proxyUrl)
   {
    char *head; size_t headlen;

    ModifyRequest(Url,request_head);

    MakeRequestProxyAuthorised(proxyUrl,request_head);

    ChangeURLInHeader(request_head,Url->hostport);

    head=HeaderString(request_head,&headlen);

    PrintMessage(ExtraDebug,"Outgoing Request Head (to https (SSL) proxy)\n%s",head);

    if(write_data(server,head,headlen)<0)
       msg=GetPrintMessage(Warning,"Failed to write to remote https (SSL) proxy; [%!s].");

    free(head);
   }
 else
    out_err=write_string(client,"HTTP/1.0 200 WWWOFFLE SSL OK\r\n\r\n");

 return(msg);
}
Пример #3
0
char *HTTP_Request(Connection *connection,URL *Url,Header *request_head,Body *request_body)
{
 char *msg=NULL,*head; size_t headlen;
 URL *proxyUrl=connection->proxyUrl;

 /* Make the request OK for a proxy or not. */

 if(proxyUrl)
    MakeRequestProxyAuthorised(proxyUrl,request_head);
 else
    MakeRequestNonProxy(Url,request_head);

 /* Send the request. */

 head=HeaderString(request_head,&headlen);

 if(proxyUrl)
    PrintMessage(ExtraDebug,"Outgoing Request Head (to proxy)\n%s",head);
 else
    PrintMessage(ExtraDebug,"Outgoing Request Head (to server)\n%s",head);

 if(write_data(connection->fd,head,headlen)<0)
    msg=GetPrintMessage(Warning,"Failed to write head to remote HTTP %s; [%!s].",proxyUrl?"proxy":"server");
 else if(request_body && write_data(connection->fd,request_body->content,request_body->length)<0)
    msg=GetPrintMessage(Warning,"Failed to write body to remote HTTP %s; [%!s].",proxyUrl?"proxy":"server");

 free(head);

 return(msg);
}