Index: src/OFHTTPClient.m ================================================================== --- src/OFHTTPClient.m +++ src/OFHTTPClient.m @@ -321,10 +321,11 @@ void *pool = objc_autoreleasePoolPush(); OFURL *URL = [request URL]; OFString *scheme = [URL scheme]; of_http_request_method_t method = [request method]; OFMutableString *requestString; + OFString *user, *password; OFDictionary *headers = [request headers]; OFDataArray *entity = [request entity]; OFTCPSocket *socket; OFHTTPClientResponse *response; OFString *line, *path, *version, *redirect, *keepAlive; @@ -386,10 +387,27 @@ if ([URL port] == 80) [requestString appendFormat: @"Host: %@\r\n", [URL host]]; else [requestString appendFormat: @"Host: %@:%d\r\n", [URL host], [URL port]]; + + user = [URL user]; + password = [URL password]; + + if ([user length] > 0 || [password length] > 0) { + OFDataArray *authorization = [OFDataArray dataArray]; + + [authorization addItems: [user UTF8String] + count: [user UTF8StringLength]]; + [authorization addItem: ":"]; + [authorization addItems: [password UTF8String] + count: [password UTF8StringLength]]; + + [requestString appendFormat: + @"Authorization: Basic %@\r\n", + [authorization stringByBase64Encoding]]; + } if ([headers objectForKey: @"User-Agent"] == nil) [requestString appendString: @"User-Agent: Something using ObjFW " @"\r\n"];