---
title: "Ange host header vid http request"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/168691-ange-host-header-vid-http-request"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Erik Juhlin"
published: "2008-02-03T14:53:50.000Z"
updated: "2008-02-05T18:05:40.000Z"
replies: 19
views: 1578
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/168691-ange-host-header-vid-http-request"
---

# Ange host header vid http request

## #1 — Erik Juhlin, 2008-02-03T14:53Z

Hej,
Jag vill kunna göra ett anrop till en url på ett ip-nummer med en viss host header.
HttpWebRequest verkar inte stödja detta. När jag skriver:

```
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://127.0.0.1/");
request.Headers.Add("Host", "www.foo.com");
...
```

så får jag meddelandet: "The 'Host' header cannot be modified directly."

Finns det något sätt man kan göra detta på?

Permalänk: https://www.webforum.nu/p/168691

## #2 — P, 2008-02-03T16:16Z

Det finns nog en speciell egenskap för host.
Testa

```
 request.Host = "www.foo.se";
```

Permalänk: https://www.webforum.nu/p/2077299

## #3 — Erik Juhlin, 2008-02-03T19:08Z

Nej. :(

Permalänk: https://www.webforum.nu/p/2077322

## #4 — freguz, 2008-02-03T19:26Z

Nu är jag inte alls nåt Reuqest/DNS/IP geni, men jag bara reagerar på att anropa både med ett IP och en DNS, i mina öron kan man bara göra det ena eller andra :bire (men lär mig gärna hur det ska vara alltså)

Jag hade tänkt såhär: ok, jag ska anropa med foo.com, så att jag i IIS kan sätta host headers till foo.com och greppa tag i det reuqestet där. Well, då får jag se till att sätta i min host-fil på datorn en egen DNS pek som är 127.0.0.1 foo.com helt enkelt, så lär det ju funka :)

Permalänk: https://www.webforum.nu/p/2077324

## #5 — Gladh, 2008-02-03T19:41Z

> **Erik skrev:**
>
> Jag vill kunna göra ett anrop till en url på ett ip-nummer med en viss host header.
> HttpWebRequest verkar inte stödja detta. När jag skriver:

Varför vill du göra så? Är det att du har någon test miljö på en ip-adress där du har lagt upp en site med en host-header som finns på en annan ip-adress i "verkligheten".

Om det är det så hade jag nog gjort som frequz föreslagit, gå in och ändra i host-filen.

Om det inte är det som du är ute efter, så ser jag ingen anledning att använda IP-adressen, eftersom dns-namnet kommer att räcka för att komma rätt.

\- M

Permalänk: https://www.webforum.nu/p/2077328

## #6 — Erik Juhlin, 2008-02-03T20:28Z

Jag vill kunna anropa flera maskiner i ett kluster som externt står bakom samma ip-adress. Kan alltså bara anropa på ett internt ip för att komma åt specifik maskin.
Men behöver kunna ange host header för att komma åt en viss site.

Nån DNS är jag inte intresserad av. Vill göra ett anrop till ett visst ip och samtidigt ange headern "Host". Borde ju vara som vilken header som helst. Men HttpWebRequest lägger sig i... :l

Permalänk: https://www.webforum.nu/p/2077333

## #7 — freguz, 2008-02-03T21:14Z

Men IP + olika portar eller virtual directories, skulle inte det funka? Hur dirigerar man trafiken i klustret?(ej van med klustermiljöer)

Permalänk: https://www.webforum.nu/p/2077352

## #8 — Erik Juhlin, 2008-02-03T21:32Z

Jag har inte helt 100 koll på det heller. Men trafiken ska dirigeras beroende på belastningen på de olika servrarna.

När jag skrev...
"Finns det något sätt man kan göra detta på?"
...så menade jag inte att jag vill göra något annat än att sätta Host headern. Jag menade andra sätt att sätta headern Host på. T.ex. om det finns något annat smidigt sätt att göra http request. Skulle ju kunna plocka fram källkoden till HttpWebRequest och se hur den gör. Men borde gå o göra enklare.

Permalänk: https://www.webforum.nu/p/2077359

## #9 — Gladh, 2008-02-04T07:23Z

> **Erik skrev:**
>
> Nån DNS är jag inte intresserad av. Vill göra ett anrop till ett visst ip och samtidigt ange headern "Host". Borde ju vara som vilken header som helst. Men HttpWebRequest lägger

Eftersom det du vill åstakomma är något tillfälligt, typ i en test miljö, så tycker jag att den enklast vägen är helt enkelt att du pekar om <https://www.foo.com> i din host-fil att peka på den bakomliggande serverns ip-address istället för på själva "kluster servern's ipadress".

\- M

Permalänk: https://www.webforum.nu/p/2077394

## #10 — Erik Juhlin, 2008-02-04T07:28Z

Jag kommer behöva anropa flera maskiner i klustret. Så då skulle jag behöva innan varje anrop gå in och ändra i hosts filen. Inte så smidigt.
Och jag har inte sagt att det är något tillfälligt eller en test miljö jag vill göra det i.

Permalänk: https://www.webforum.nu/p/2077397

## #11 — CatZ, 2008-02-04T08:53Z

Du skulle kunna anropa ett vbs script från C# som sköter det åt dig...

Permalänk: https://www.webforum.nu/p/2077414

## #12 — Herman, 2008-02-04T12:44Z

> **Erik Juhlin skrev:**
>
> Jag vill kunna göra ett anrop till en url på ett ip-nummer med en viss host header.
> HttpWebRequest verkar inte stödja detta. När jag skriver:
>
>
> ```
> HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://127.0.0.1/");
> request.Headers.Add("Host", "www.foo.com");
> ...
> ```
>
> 
> så får jag meddelandet: "The 'Host' header cannot be modified directly."
> 
> Finns det något sätt man kan göra detta på?

Minns att jag hade nått liknande problem. Numera använder jag nedanstående i min webbproxy/sidladdare. Du kan ju testa om det hjälper dig. 

```
WebHeaderCollection whc = new WebHeaderCollection();
whc.Add("Host", "www.foo.com");
request.Headers = whc
```

Permalänk: https://www.webforum.nu/p/2077463

## #13 — CatZ, 2008-02-04T13:03Z

Jag tror till och med att du kan göra 

```
request.Headers.add(whc);
```

Permalänk: https://www.webforum.nu/p/2077468

## #14 — Erik Juhlin, 2008-02-04T21:14Z

> **Herman skrev:**
>
> Minns att jag hade nått liknande problem. Numera använder jag nedanstående i min webbproxy/sidladdare. Du kan ju testa om det hjälper dig. 
> 
>
>
> ```
> WebHeaderCollection whc = new WebHeaderCollection();
> whc.Add("Host", "www.foo.com");
> request.Headers = whc
> ```

Får fortfarande samma fel... :(

Permalänk: https://www.webforum.nu/p/2077546

## #15 — emission, 2008-02-04T23:00Z

Har du provat WebProxy-knepet?

<http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1815870&SiteID=1>

Permalänk: https://www.webforum.nu/p/2077567

## #16 — Herman, 2008-02-05T09:00Z

> **Erik Juhlin skrev:**
>
> Får fortfarande samma fel... :(

Jag typar iofs inte om till *HttpWebRequest*. Kanske det gör nån skillnad? 

```
WebRequest request  = WebRequest.Create(url);
```

Permalänk: https://www.webforum.nu/p/2077608

## #17 — tydal, 2008-02-05T09:48Z

Använder du HttpWebRequest till något särskilt sen? Http är ju inte så avancerat. Allt du gör ju är att skicka:

GET /sidans-adress.html HTTP/1.1
Host: den-du-vill-ha.com
(tomrad)

Och sen sparar du ju allt som kommer. Behöver du dela upp header och body så är det första tomraden du kommer till som utgör gränsen.

Permalänk: https://www.webforum.nu/p/2077621

## #18 — Erik Juhlin, 2008-02-05T13:57Z

Herman: Nej ville inte funka.

tydal: Nej inget avancerat. Och http kan jag ganska hyfsat. Men vill slippa allt meck runt omkring.

emission: Tack! Det där funka ju bra! Ser t.o.m. ut som att jag kan använda det tillsammans med WebServices vilket jag tidigare trott att jag var tvungen att överge.
En semla som tack för hjälpen! ;)

Bilagor:

- [semla.jpg](https://www.webforum.nu/a/17140.jpg)

Permalänk: https://www.webforum.nu/p/2077664

## #19 — emission, 2008-02-05T17:59Z

> **Erik Juhlin skrev:**
>
> En semla som tack för hjälpen! ;)

\*skrapar bort mandelmassan och glufsar i mig\*

Permalänk: https://www.webforum.nu/p/2077714

## #20 — Gladh, 2008-02-05T18:05Z

> **Erik skrev:**
>
> Och jag har inte sagt att det är något tillfälligt eller en test miljö jag vill göra det i.

Inte för att vara sådan, men varför ihela världen har man en klustermiljö om man ändå tänker gå runt den bakvägen. Känns inte helt rätt i min värld, men du har säkert någon bra anledning till att "misshandla" servern ;)

\- M

Permalänk: https://www.webforum.nu/p/2077716

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/168691-ange-host-header-vid-http-request
