struct tr_web_task
{
+ int port;
unsigned long tag;
struct curl_slist * slist;
struct evbuffer * response;
dbgmsg( "old url: \"%s\" -- new url: \"%s\"", task->url, url );
evbuffer_free( buf );
- host = tr_strdup_printf( "Host: %s", task->host );
+ host = tr_strdup_printf( "Host: %s:%d", task->host, task->port );
task->slist = curl_slist_append( NULL, host );
curl_easy_setopt( e, CURLOPT_HTTPHEADER, task->slist );
tr_free( host );
static void
doDNS( void * vtask )
{
+ int port = -1;
char * host = NULL;
struct tr_web_task * task = vtask;
assert( task->resolved_host == NULL );
- if( !tr_httpParseURL( task->url, -1, &host, NULL, NULL ) ) {
+ if( !tr_httpParseURL( task->url, -1, &host, &port, NULL ) ) {
+ task->port = port;
task->host = host;
task->resolved_host = dns_get_cached_host( task, host );
}