การเข้าถึง localhost: พอร์ตจากอุปกรณ์จำลอง Android


224

localhost:54722ผมใช้บริการเว็บบนเครื่องท้องถิ่นของฉันที่ทำงานที่

ฉันต้องการเรียกใช้บริการจากแอพที่ทำงานในเครื่องจำลอง Android

ฉันอ่านว่าการใช้10.0.2.2แอพนี้จะเข้าถึง localhost แต่ดูเหมือนจะไม่ทำงานกับหมายเลขพอร์ตเช่นกัน HttpResponseException: Bad Requestมันบอกว่า



1
ฉันคาดหวังพฤติกรรมที่ไม่ได้ส่งต่อพอร์ตทั้งหมด ... 5555 ไม่ได้ถูกส่งต่อ แต่ 8080 และ 8081 ทำงานได้ดี ...
Florian Loch

คุณต้องแก้ไขไฟล์กำหนดค่า vs-iis ของคุณ: stackoverflow.com/a/50991257/7149454
Nick Kovalsky

คำตอบ:


408

คุณสามารถเข้าถึงเครื่องโฮสต์ของคุณด้วยที่อยู่ IP " 10.0.2.2"

สิ่งนี้ได้รับการออกแบบในลักษณะนี้โดยทีม Android ดังนั้นเว็บเซิร์ฟเวอร์ของคุณสามารถทำงานที่ localhost ได้อย่างสมบูรณ์และจากแอพ Android ของคุณคุณสามารถเข้าถึงได้ผ่าน " http://10.0.2.2:<hostport>"

หากอีมูเลเตอร์ของคุณต้องเข้าถึงอินเทอร์เน็ตผ่านพร็อกซีเซิร์ฟเวอร์คุณสามารถกำหนดค่าพร็อกซี HTTP แบบกำหนดเองได้จากหน้าจอ Extended controls ของอีมูเลเตอร์ ด้วยการเปิดโปรแกรมจำลองคลิกเพิ่มเติม จุดแล้วคลิกการตั้งค่าและพร็อกซี่ จากที่นี่คุณสามารถกำหนดการตั้งค่าพร็อกซี HTTP ของคุณเอง screen-shot สำหรับ HTTP config


9
ทำไมจึงเป็นเช่นนั้น? ข้อผิดพลาดคำขอที่ไม่ถูกต้องหมายความว่าเซิร์ฟเวอร์ localhost สามารถเข้าถึงได้ แต่คำขอนั้นไม่ถูกต้องมากนัก
Dediqated

ฉันไม่แน่ใจว่าฉันทำตามสิ่งที่คุณพูดว่ามันเกี่ยวข้องกับการแก้ปัญหาให้?
Akhil Jain

ไม่ทำงานสำหรับฉันตอนนี้ แต่นี่คือลิงก์ไปยังเอกสาร Android และเป็นที่ชัดเจนว่านี่เป็นสิ่งที่ควรทำ (10.0.2.2) developer.android.com/tools/devices/emulator.html
Stuart Hallows

23
เห็นได้ชัดว่านี่ไม่ได้ชี้แจงอะไรเลยโรบินใช้ 10.0.2.2 ip ในคำถามแล้วและมันไม่ทำงาน แม้ว่าคำตอบของคุณจะถูกต้อง แต่ก็ไม่มีวิธีแก้ปัญหา
iversoncru

ฉันได้รับ 400: ข้อผิดพลาดคำขอไม่ถูกต้องด้วยโซลูชันเดียวกัน
Keval Patel

55

ใช้ 10.0.2.2 สำหรับ AVD เริ่มต้นและ 10.0.3.2 สำหรับ Genymotion


4
ทำไม 10.0.3.2 สำหรับ Genymotion?
จาค็อบ

1
@Jacob เพราะ Genymotion เป็นโปรแกรมจำลองที่แตกต่างกันและพวกเขาเลือกที่จะใช้ IP ที่แตกต่างกว่าจำลองของ Google (ซึ่งเส้นขอบบนที่ไร้ประโยชน์อย่างจริงจังเมื่อพวกเขากำลังจะทำอะไรบางอย่างเกี่ยวกับการจำลองเริ่มต้นของพวกเขาอันยิ่งใหญ่.?)
computrius

ใน API 28+ คุณควรอนุญาตการรับส่งข้อมูลที่ไม่ใช่ https (ข้อความที่ชัดเจน) ในการกำหนดค่าเครือข่ายของคุณด้วย ดูคำตอบของฉันด้านล่างstackoverflow.com/a/56769746/2290369
İsmail Yavuz

19

ฉันประสบปัญหาเดียวกันกับ Visual Studio ที่ใช้งานแอพพลิเคชั่นเว็บบน IIS Express เพื่อแก้ไขคุณต้องไปที่คุณสมบัติโครงการของคุณจากนั้นคลิกที่แท็บ Debug และเปลี่ยนhttp: // localhost: [พอร์ตของคุณ ] ไปที่http://127.0.0.1:dyYOUR PORT] และตั้งค่า url android เป็นhttp: / /10.0.2.2::YOYOUR PORT] มันใช้งานได้สำหรับฉัน


1
ร่วมกับ 10.0.0.2 url แก้ไขให้ฉัน การตั้งค่านี้ดูเหมือนว่าจะแทนที่วิธีการแบบ hosting.json ซึ่งอธิบายไว้ที่อื่น
user761574

1
ฉันใช้เซิร์ฟเวอร์ django ในเครื่องบน macOS และฉันมักจะเข้าถึงผ่านทางhttp://localhost:5000/เครื่องจำลองทั้ง Postman และ iOS โซลูชันนี้ใช้งานได้กับเครื่องจำลอง Android และไม่จำเป็นต้องแก้ไขเซิร์ฟเวอร์ของฉันหรือการตั้งค่าใด ๆ ในเครื่องจำลอง รวดเร็วดีและพกพาไปยังคอมพิวเตอร์เครื่องอื่น ๆ
John Pang

แอพ Android ที่มี xamarin และ ASP.NET Web API ทั้งคู่ใช้ VS ทำงาน! ขอบคุณ !!
sohaib javed

15

หากคุณใช้ IIS Express คุณอาจต้องผูกกับชื่อโฮสต์ทั้งหมดแทน `localhost ' ตรวจสอบคำตอบที่ดีนี้:

https://stackoverflow.com/a/15809698/383761

บอก IIS Express เพื่อผูกกับที่อยู่ IP และชื่อโฮสต์ทั้งหมด ในไฟล์. config ของคุณ (โดยทั่วไปคือ% userprofile% \ My Documents \ IIS Express \ config \ applicationhost.config หรือ $ (solutionDir) .vs \ config \ applicationhost.config สำหรับ Visual Studio 2015) ค้นหาองค์ประกอบการรวมเว็บไซต์ของคุณและเพิ่ม

<binding protocol="http" bindingInformation="*:8080:*" />

ตรวจสอบให้แน่ใจว่าเพิ่มเป็นการโยงครั้งที่สองแทนการแก้ไขที่มีอยู่หรือ VS จะเพิ่งเพิ่มไซต์ใหม่ผนวกด้วย(1) นอกจากนี้คุณอาจต้องเรียกใช้ VS ในฐานะผู้ดูแลระบบ


ไม่คุณไม่จำเป็นต้องใช้ชื่อโฮสต์ว่างblog.lextudio.com/ เสมอไป
Lex Li

<binding protocol = "http" bindingInformation = "*: 15000: 127.0.0.1" /> นี่คือวิธีที่ IIS Express ชอบที่ 15,000 พอร์ตของฉันและชี้ไปที่ 10.0.2.2:15000 บนโปรแกรมจำลอง android
dpineda

11

ฉันแก้ไขด้วยการติดตั้ง "Conveyor by Keyoti" ใน Visual Studio Professional 2015 Conveyor สร้างที่อยู่ REMOTE (IP ของคุณ) ด้วยพอร์ต (45455) ที่เปิดใช้งานคำขอภายนอก ตัวอย่าง:

ป้อนคำอธิบายรูปภาพที่นี่

ลำเลียงช่วยให้คุณใช้งานเว็บทดสอบจากแท็บเล็ตจากภายนอกและโทรศัพท์บนเครือข่ายของคุณหรือจากการเลียนแบบของ Android (ไม่มีhttp://10.0.2.2:<hostport>)

ขั้นตอนอยู่ในลิงค์ต่อไปนี้:

https://marketplace.visualstudio.com/items?itemName=vs-publisher-1448185.ConveyorbyKeyoti


ถ้าคุณไม่เรียกใช้เว็บเซิร์ฟเวอร์ภายใน Visual Studio ล่ะ Imo นี่ไม่ใช่คำตอบสำหรับคำถาม
jAC

ฉันลอง แต่หลังจากผ่านไปหลายวันต่อมา URL ที่ระบุไม่ทำงานและไม่พบคำตอบใด ๆ
Md Imran Choudhury

หลังจากการต่อสู้ที่ยาวนานสิ่งเดียวที่ทำเคล็ดลับคือการติดตั้งส่วนขยายนี้และเปิดใช้งานคุณสมบัติ Remote URL ใช้เวลาในการขอ API นานกว่านี้ แต่ใช้งานได้
fabian278

9

ฉันมีเว็บเซิร์ฟเวอร์ที่ทำงานบน localhost ของฉัน

ถ้าฉันเปิดตัวจำลองและต้องการเชื่อมต่อกับโฮสต์ในพื้นที่ของฉันที่ฉันใช้192.168.x.xอยู่ ซึ่งหมายความว่าคุณควรใช้ที่อยู่ ip ในพื้นที่ของคุณ อย่างไรก็ตามคุณHttpResponseException (Bad Request)ไม่ได้หมายความว่าโฮสต์ไม่สามารถเข้าถึงได้

ข้อผิดพลาดอื่น ๆ นำไปสู่ข้อยกเว้นนี้


9

เนื่องจาก10.0.2.2ไม่ใช่โดเมนที่ปลอดภัยสำหรับ Android คุณต้องอนุญาตโดเมนที่ไม่ปลอดภัยในการกำหนดค่าเครือข่ายสำหรับ API 28+ ซึ่งการเชื่อมต่อที่ไม่ใช่ TLS จะถูกป้องกันโดยค่าเริ่มต้น

คุณสามารถใช้การกำหนดค่าต่อไปนี้ของฉัน:

สร้างไฟล์ใหม่ใน main / res / xml / network_security_config.xml เป็น:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">localhost</domain>
        <domain includeSubdomains="true">10.0.2.2</domain>
    </domain-config>
</network-security-config>

และชี้ไปที่ AndroidManifest.xml

<application
......
......
android:networkSecurityConfig="@xml/network_security_config">

8

ปัญหาคือว่าจำลอง Android แผนที่10.0.2.2ไป127.0.0.1, ไม่ได้localhostไป ดังนั้นการกำหนดค่าเว็บเซิร์ฟเวอร์ของคุณเพื่อ serveron และไม่ได้127.0.0.1:54722 localhost:54722ที่ควรทำ


7

หลังจากเรียกใช้โฮสต์ในพื้นที่ของคุณคุณมาhttp://localhost:[port number]/ที่นี่คุณพบหมายเลขพอร์ตของคุณ

จากนั้นรับที่อยู่ IP ของคุณจากคำสั่งเปิดคำสั่ง windows แล้วพิมพ์ ipconfig ป้อนคำอธิบายรูปภาพที่นี่

ในกรณีของฉัน IP คือ192.168.10.33ดังนั้น URL ของฉันจะเป็นhttp://192.168.10.33: [หมายเลขพอร์ต ] / ใน Android สตูดิโอใช้ URL นี้เป็น URL ของคุณ และหลังจากนั้นให้ตั้งค่า URL และหมายเลขพอร์ตของคุณในพร็อกซีด้วยตนเองสำหรับโปรแกรมจำลอง

ป้อนคำอธิบายรูปภาพที่นี่


3

คุณต้องตั้งค่า URL เป็น 10.0.2.2:portNr

portNr = พอร์ตที่กำหนดโดย ASP.NET Development Server บริการปัจจุบันของฉันทำงานอยู่ localhost:3229/Service.svc

ดังนั้น URL ของฉันคือ 10.0.2.2:3229

ฉันจะแก้ไขปัญหาของฉันด้วยวิธีนี้

ฉันหวังว่ามันจะช่วย ...


3

"BadRequest" เป็นข้อผิดพลาดซึ่งมักจะได้รับจากเซิร์ฟเวอร์เองดูrfc 2616

10.4.1 400 คำขอไม่ถูกต้อง

เซิร์ฟเวอร์ไม่สามารถเข้าใจการร้องขอได้เนื่องจากไวยากรณ์ผิดรูปแบบ ลูกค้าไม่ควรทำซ้ำการร้องขอโดยไม่มีการดัดแปลง

ดังนั้นคุณจึงสามารถเชื่อมต่อกับเซิร์ฟเวอร์ได้ แต่คำขอของคุณไม่ตรงกับแบบฟอร์ม expecet ฉันไม่ทราบวิธีที่คุณสร้างการเชื่อมต่อรวมส่วนหัวอะไร (ถ้ามี) - แต่นั่นคือสิ่งที่คุณควรตรวจสอบ

หากคุณต้องการความช่วยเหลือเพิ่มเติมโปรดอธิบายว่าโค้ดของคุณเกี่ยวข้องกับอะไรและใช้เพื่อเชื่อมต่อกับเซิร์ฟเวอร์อย่างไรเราจึงมีภาพรวมที่ดี

นี่คือคำถามที่มีปัญหาเดียวกัน - คำตอบคือเนื้อหาไม่ได้ตั้งค่าในส่วนหัว


คุณได้จุดที่ถูกต้อง แต่ไปทิศทางที่ผิดหลังจากนั้น ขั้นตอนต่อไปคือการวิเคราะห์เซิร์ฟเวอร์เพื่อเรียนรู้ว่าคำขอประเภทใดที่ห่วงใยเพื่อให้เข้าใจว่าเหตุใดคำขอจากผู้เลียนแบบจึงตอบกลับด้วย 400 กรณีศึกษาสำหรับ IIS Express สามารถพบได้ที่นี่blog.lextudio.com/
Lex Li

1

ฉันต้องการแสดงวิธีที่ฉันเข้าถึง IISExpress Web APIs จาก Android Emulator ของฉัน ฉันใช้ Visual Studio 2015 และฉันเรียก Android Emulator จาก Android Studio

สิ่งที่ฉันต้องทำทั้งหมดคือการเพิ่มบรรทัดต่อไปนี้ในการกำหนดค่าการเชื่อมโยงในไฟล์applicationhost.configของฉัน

<binding protocol="http" bindingInformation="*:<your-port>:" />

จากนั้นฉันจะตรวจสอบและใช้ที่อยู่ IP4 เพื่อเข้าถึง API ของฉันจาก Android emulator

ข้อกำหนด:คุณต้องเรียกใช้ Visual Studio ในฐานะผู้ดูแลระบบ โพสต์นี้ให้วิธีที่สมบูรณ์แบบในการทำเช่นนี้

สำหรับรายละเอียดเพิ่มเติมกรุณาเยี่ยมชมโพสต์ของฉันบน GitHub

หวังว่านี่จะช่วยได้


2
หรือติดตั้ง VS Extension ฟรีที่เรียกว่า Conveyor จากหน้าต่างส่วนขยาย ที่เปิด IIS Express ให้กับคำขอภายนอกโดยไม่เปลี่ยนการกำหนดค่า
Jim W กล่าวว่าคืนสถานะโมนิก้า

คุณมีตัวเลือกอื่น ๆblog.lextudio.com/ดีกว่าทำงาน VS ในฐานะผู้ดูแลระบบ ดังนั้นผมจะไม่เรียกว่าต้อง
Lex Li

1

สำหรับผู้ใช้ Laravel Homestead: หากใครก็ตามที่ใช้ Laravel กับ homestead คุณสามารถเข้าใช้ส่วนแบ็คเอนด์ของแอพได้โดยใช้ 192.168.10.10 in emulator

ยังไม่ทำงานใช่ไหม อีกวิธีที่ดีคือการใช้ ngrok https://ngrok.com/


1

ฉันใช้ Windows 10 เป็นแพลตฟอร์มการพัฒนาของฉันการเข้าถึง 10.0.2.2: พอร์ตในโปรแกรมจำลองการทำงานของฉันไม่ทำงานตามที่คาดไว้และผลลัพธ์เดียวกันสำหรับโซลูชันอื่น ๆ ในคำถามนี้เช่นกัน

หลังจากขุดหลายชั่วโมงฉันพบว่าถ้าคุณเพิ่มอาร์กิวเมนต์ระบบที่เขียนได้ลงในคำสั่งเริ่มต้นโปรแกรมจำลองสิ่งต่าง ๆ ก็จะทำงานได้

คุณต้องเริ่มโปรแกรมจำลองผ่านบรรทัดคำสั่งด้านล่าง:

 emulator.exe -avd <emulator_name> -writable-system

จากนั้นในอีมูเลเตอร์ของคุณคุณสามารถเข้าถึงบริการ API ที่ทำงานอยู่บนเครื่องโฮสต์โดยใช้ที่อยู่ IP ของ LAN และพอร์ตเชื่อมโยง:

http://192.168.1.2:<port>

หวังว่านี่จะช่วยคุณได้

เกี่ยวกับโปรแกรมจำลองการเริ่มต้นจากบรรทัดคำสั่ง: https://developer.android.com/studio/run/emulator-commandline


1

ในการเข้าถึง localhost บน Android Emulator

  • เพิ่มสิทธิ์อินเทอร์เน็ตจาก AndroidManifest.xml
    <uses-permission android:name="android.permission.INTERNET" />

  • เพิ่มandroid:usesCleartextTraffic="true"รายละเอียดเพิ่มเติมได้ที่นี่ :

  • เรียกใช้คำสั่งด้านล่างเพื่อค้นหาที่อยู่ IP ของระบบของคุณ:

ifconfig | grep "inet " | grep -v 127.0.0.1

คัดลอกที่อยู่ IP ที่ได้รับจากขั้นตอนนี้ (A)

  • เรียกใช้แอปพลิเคชันแบ็กเอนด์ซึ่งคุณสามารถเข้าถึงได้ที่localhostหรือ127.0.0.1จากระบบของคุณ

  • ตอนนี้ใน android studio คุณสามารถแทนที่ URL หากคุณใช้ในรหัสหรือคุณสามารถใช้ที่อยู่ IP ที่ได้รับจากขั้นตอน (A) และลองเปิดในเว็บเบราว์เซอร์เช่นนี้http://192.168.0.102:8080/

อย่าลืมเพิ่ม PORT หลังจากที่อยู่ IP ในกรณีแอปของฉันทำงานบนพอร์ต 8080 ดังนั้นฉันจึงเพิ่ม IP ที่ได้รับใน (A) ด้วยพอร์ต 8080


0

localhost ดูเหมือนจะทำงานได้ดีในโปรแกรมจำลองการเริ่มต้นของฉันแล้วฉันเริ่มได้รับการเชื่อมต่อปฏิเสธข้อยกเว้นฉันใช้ 127.0.2.2 จากเบราว์เซอร์อีมูเลเตอร์และทำงานได้และเมื่อฉันใช้สิ่งนี้ในแอพ Android ของฉันในโปรแกรมจำลอง .

จากนั้นฉันก็ทำ ifconfig และฉันใช้ ip 192.168.2.2 และมันทำงานได้อย่างสมบูรณ์


0

โดยทั่วไปคำขอไม่ถูกต้องหมายถึงรูปแบบของข้อมูลที่คุณส่งไม่ถูกต้อง อาจเป็นการจับคู่ข้อมูลที่ไม่ตรงกัน หากคุณได้รับคำขอที่ไม่ดีแสดงว่าคุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์ได้ แต่คำขอนั้นไม่ได้รับการส่งอย่างถูกต้อง


0

หากใครยังมองหาสิ่งนี้อยู่นี่เป็นวิธีการที่เหมาะกับฉัน

คุณต้องค้นหา IP ของเครื่องของคุณเกี่ยวกับอุปกรณ์ / ตัวจำลองที่คุณเชื่อมต่อ สำหรับ Emulators ทางคือทำตามขั้นตอนด้านล่าง;

  1. ไปที่กล่อง VM Virtual -> เลือกอุปกรณ์ที่เชื่อมต่อในรายการ
  2. เลือกการตั้งค่า -> เครือข่าย -> ค้นหาว่ามีการแนบอุปกรณ์เครือข่ายใด สำหรับฉันมันคือ 'VirtualBox Host-Only Ethernet Adapter # 2'
  3. ในกล่องเสมือนให้ไปที่ Files-> Preferences-> Network-> Networks-Only Networks และค้นหา IPv4 สำหรับเครือข่ายที่ระบุในขั้นตอนข้างต้น (โดยโฮเวอร์คุณจะได้รับข้อมูล)

ระบุ IP นี้เพื่อเข้าถึง localhost จากโปรแกรมจำลอง พอร์ตเหมือนกับที่คุณให้ไว้ขณะที่เรียกใช้ / เผยแพร่บริการของคุณ

หมายเหตุ # 1:ตรวจสอบให้แน่ใจว่าคุณได้ดูแลไฟร์วอลล์และกฎขาเข้า

หมายเหตุ # 2:โปรดตรวจสอบ IP นี้หลังจากที่คุณรีสตาร์ทเครื่อง ด้วยเหตุผลบางอย่างแม้ว่าฉันจะให้ "ใช้ IP ต่อไปนี้" IP ของโฮสต์เท่านั้นที่เปลี่ยนไป


0

ฉันแก้ไขปัญหาได้อย่างแน่นอนเมื่อชั้นบริการใช้ Visual Studio IIS Express เพียงชี้ไปที่ 10.0.2.2: พอร์ตจะไม่ทำงาน แทนที่จะยุ่งกับ IIS Express ตามที่โพสต์อื่น ๆ กล่าวไว้ฉันเพิ่งวางพร็อกซีไว้หน้า IIS Express ตัวอย่างเช่น apache หรือ nginx nginx.conf จะดูเหมือน

 # Mobile API
 server { 
    listen       8090;
    server_name  default_server;

    location / {
        proxy_pass http://localhost:54722;
    }
  }

จากนั้นหุ่นยนต์ต้องชี้ไปที่ที่อยู่ IP ของฉันเป็น 192.168.xx: 8090


0

หากคุณใช้แพ็คเกจบุคคลที่สามเช่นโหนด express หรือ angular-cli คุณจะต้องค้นหา IP ของเครื่องของคุณและแนบโฮสต์ของคุณกับ IP นั้นภายในการกำหนดค่าเริ่มต้นเซิร์ฟเวอร์ (แทน localhost) จากนั้นเรียกใช้จากตัวจำลองโดยใช้ IP ตัวอย่างเช่นฉันต้องใช้: ng serve -H 10.149.212.104เพื่อใช้ angular-cli จากนั้นตัวจำลองที่ฉันใช้:http://10.149.212.104:4200


0

1) เรียกใช้คำสั่ง ipconfig ใน cmd

2) คุณจะได้ผลลัพธ์เช่นนี้ ป้อนคำอธิบายรูปภาพที่นี่

3) จากนั้นใช้ที่อยู่ IPv4 ของ VMWare Network Adapter 1 ตามด้วยหมายเลขพอร์ต

ในกรณีของฉัน 8080 ดังนั้นแทนที่จะใช้ localhost: 8080

ฉันใช้ 192.168.56.1:8080

ป้อนคำอธิบายรูปภาพที่นี่

เสร็จสิ้น .....


0

คำอธิบายว่าทำไมlocalhostไม่พร้อมใช้งานจากอีมูเลเตอร์สำหรับผู้ที่มีปัญหาการเข้าถึงพื้นฐาน สำหรับกรณีที่ซับซ้อนอ่านคำตอบอื่น ๆ

ปัญหา: ตัวจำลองมีเครือข่ายท้องถิ่นของตัวเองและlocalhostแมปตัวจำลองเป็นตัวจำลองแต่ไม่ใช่โฮสต์ของคุณ!

สารละลาย:

  1. ผูกเซิร์ฟเวอร์ของคุณ0.0.0.0เพื่อให้พร้อมใช้งานสำหรับเครือข่ายของอีมูเลเตอร์
  2. รับที่อยู่ IP ภายนอกของแล็ปท็อปของคุณ: ifconfigคำสั่งสำหรับ Mac
  3. ใน Android (หรือแอพพลิเคชั่น Flutter) ให้ใช้ที่อยู่ IP ของอินเทอร์เฟซภายนอกเช่น: 192.168.1.10แทนlocalhost

0

ฉันมีปัญหาเดียวกันเมื่อฉันพยายามเชื่อมต่อกับ IIS .NET Webservice จาก Android emulator

  1. ติดตั้ง npm install -g iisexpress-proxy
  2. iisexpress-proxy 53990 to 9000 เพื่อ proxy IIS express port ถึง 9000 และเข้าถึงพอร์ต 9000 จากโปรแกรมจำลอง "http://10.0.2.2:9000"

สาเหตุที่ดูเหมือนจะเป็นค่าเริ่มต้น IIS Express ไม่อนุญาตการเชื่อมต่อจากเครือข่าย https://forums.asp.net/t/2125232.aspx?Bad+Request+Invalid+Hostname+when+accessing+localhost+Web+API + หรือ + เว็บ + App + จาก + + ทั่ว LAN

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.