| | @@ -67,12 +67,14 @@ |
| 67 | 67 | i++; |
| 68 | 68 | while( (c = zUrl[i])!=0 && isdigit(c) ){ |
| 69 | 69 | g.urlPort = g.urlPort*10 + c - '0'; |
| 70 | 70 | i++; |
| 71 | 71 | } |
| 72 | + g.urlHostname = mprintf("%s:%d", g.urlName, g.urlPort); |
| 72 | 73 | }else{ |
| 73 | 74 | g.urlPort = 80; |
| 75 | + g.urlHostname = g.urlName; |
| 74 | 76 | } |
| 75 | 77 | g.urlPath = mprintf(&zUrl[i]); |
| 76 | 78 | dehttpize(g.urlName); |
| 77 | 79 | dehttpize(g.urlPath); |
| 78 | 80 | g.urlCanonical = mprintf("http://%T:%d%T", g.urlName, g.urlPort, g.urlPath); |
| | @@ -111,21 +113,29 @@ |
| 111 | 113 | |
| 112 | 114 | /* |
| 113 | 115 | ** COMMAND: test-urlparser |
| 114 | 116 | */ |
| 115 | 117 | void cmd_test_urlparser(void){ |
| 118 | + int i; |
| 116 | 119 | if( g.argc!=3 && g.argc!=4 ){ |
| 117 | 120 | usage("URL"); |
| 118 | 121 | } |
| 119 | 122 | url_parse(g.argv[2]); |
| 120 | | - printf("g.urlIsFile = %d\n", g.urlIsFile); |
| 121 | | - printf("g.urlName = %s\n", g.urlName); |
| 122 | | - printf("g.urlPort = %d\n", g.urlPort); |
| 123 | | - printf("g.urlPath = %s\n", g.urlPath); |
| 124 | | - printf("g.urlUser = %s\n", g.urlUser); |
| 125 | | - printf("g.urlPasswd = %s\n", g.urlPasswd); |
| 126 | | - printf("g.urlCanonical = %s\n", g.urlCanonical); |
| 123 | + for(i=0; i<2; i++){ |
| 124 | + printf("g.urlIsFile = %d\n", g.urlIsFile); |
| 125 | + printf("g.urlName = %s\n", g.urlName); |
| 126 | + printf("g.urlPort = %d\n", g.urlPort); |
| 127 | + printf("g.urlHostname = %s\n", g.urlHostname); |
| 128 | + printf("g.urlPath = %s\n", g.urlPath); |
| 129 | + printf("g.urlUser = %s\n", g.urlUser); |
| 130 | + printf("g.urlPasswd = %s\n", g.urlPasswd); |
| 131 | + printf("g.urlCanonical = %s\n", g.urlCanonical); |
| 132 | + if( i==0 ){ |
| 133 | + printf("********\n"); |
| 134 | + url_enable_proxy("Using proxy: "); |
| 135 | + } |
| 136 | + } |
| 127 | 137 | } |
| 128 | 138 | |
| 129 | 139 | /* |
| 130 | 140 | ** If the "proxy" setting is defined, then change the URL to refer |
| 131 | 141 | ** to the proxy server. |
| | @@ -135,10 +145,12 @@ |
| 135 | 145 | if( zProxy==0 || zProxy[0] || is_false(zProxy) ){ |
| 136 | 146 | zProxy = getenv("http_proxy"); |
| 137 | 147 | } |
| 138 | 148 | if( zProxy && zProxy[0] && !is_false(zProxy) ){ |
| 139 | 149 | char *zOriginalUrl = g.urlCanonical; |
| 150 | + char *zOriginalHost = g.urlHostname; |
| 140 | 151 | if( zMsg ) printf("%s%s\n", zMsg, zProxy); |
| 141 | 152 | url_parse(zProxy); |
| 142 | 153 | g.urlPath = zOriginalUrl; |
| 154 | + g.urlHostname = zOriginalHost; |
| 143 | 155 | } |
| 144 | 156 | } |
| 145 | 157 | |