Tôi vừa hoàn tất việc thêm các thành phần C# Web API (Mô hình API Web & Bộ điều khiển) vào bản sao localhost
của một dự án hiện có.C# Web - localhost: cổng hoạt động, 127.0.0.1:port không hoạt động
Phương thức GET của API Web này nên được gọi từ ứng dụng Android. Trong this link nó giải thích tôi nên sử dụng 10.0.2.2
trên giả lập Android để có được 127.0.0.1
của máy tính.
Khi tôi đã làm điều này, nó không hoạt động cho HttpRequest của tôi trong ứng dụng Android. Vì vậy, tôi đã đi đến trình duyệt Android và gõ nó trực tiếp, và nó cũng không hoạt động.
Sau đó, tôi cố gắng sử dụng 127.0.0.1
thay vì localhost
trong trình duyệt của máy tính của tôi, và đối với một số lý do nào đó nó cũng không hoạt động .. Có khác nhau giữa localhost
và 127.0.0.1
? Tôi luôn nghĩ rằng họ là một và giống nhau.
Đây là 400 error
tôi nhận được khi sử dụng 127.0.0.1
:
Và với localhost
tất cả mọi thứ hoạt động tốt.
Vì vậy, câu hỏi của tôi: Làm cách nào để sử dụng localhost
trên Trình mô phỏng (hoặc, làm cách nào để khắc phục lỗi tôi nhận được khi sử dụng 127.0.0.1
thay vì localhost
)? Ngoài ra, tôi muốn biết sự khác biệt giữa localhost
và 127.0.0.1
, vì tôi luôn nghĩ rằng chúng giống nhau.
Cảm ơn bạn đã trả lời trước.
Sửa 1:
Trong this stackoverflow question họ đề cập đến file host trong System32
của Windows. Tôi đã mở tệp này bằng Notepad ++ (dưới dạng Quản trị viên) và bỏ ghi chú các dòng với 127.0.0.1 localhost
và ::1 localhost
. Nhưng không may điều này đã không khắc phục được sự cố và tôi vẫn không thể sử dụng 127.0.0.1
trên máy tính của mình để thay thế cho localhost
. Có lẽ vì vấn đề của tôi là đảo ngược (Tôi có thể truy cập localhost
, nhưng không 127.0.0.1
, thay vì cách khác xung quanh.)
Chỉnh sửa 2:
Trong this stackoverflow answer nó giải thích rằng sự khác biệt giữa localhost
và 127.0.0.1
là:
127.0.0.1
sẽ dễ dàng được nhận ra là IP trong một số ngôn ngữ lập trình.localhost
có thể được thay đổi thành IP khác trong tệp lưu trữ của máy tính (tệp được đề cập trong số Chỉnh sửa 1) của tôi.- Có một số khác biệt giữa IPv4 và IPv6.
Tất cả và tất cả tôi đều hiểu sự khác biệt hiện tại, tôi chỉ không hiểu tại sao máy chủ cục bộ của tôi hoạt động, nhưng 127.0.0.1 không phải là ..
Sửa 3:
Liệu nó có làm điều gì đó với port
(tôi sử dụng 54408
như port
)? Tôi đã mở cmd
và đã làm các xét nghiệm sau đây:
ping localhost
: Tôi nhận được một phản ứng với 4 lầnReply from ::1: time<1ms
.ping 127.0.0.1
: Tôi nhận được một phản ứng với 4 lầnReply from 127.0.0.1: bytes=32 time<1ms TIL=128
ping localhost:54408
: Tôi nhận được một lỗiPing request could not find localhost:54408. Please check the name and try again.
ping 127.0.0.1:54408
: Tôi nhận được một lỗiPing request could not find 127.0.0.1:54408. Please check the name and try again.
Và cũng giống như tôi đã đã nói trước: 127.0.0.1:54408
trong trình duyệt cho biết lỗi được thấy trong hình ở trên. Và localhost:54408
chỉ hoạt động tốt ..
Vẫn không có ai có ý tưởng về cách sửa lỗi này?
Sửa 4:
Bản sao hosts-file
của tôi, nằm ở C:\Windows\System32\drivers\etc
.
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
# localhost name resolution is handled within DNS itself.
127.0.0.1 localhost
::1 localhost
Hai dòng cuối cùng từng là:
# 127.0.0.1 localhost
# ::1 localhost
Sửa 5/Semi-Giải pháp:
Sau gợi ý Jake C của tôi đã đi tìm cho Visual cấu hình cổng Studio và tìm thấy the following site. Tại mục "Để chỉ định cổng cho dự án ứng dụng Web sử dụng Visual Studio Development Server", tôi làm theo hướng dẫn và thay đổi tùy chọn Web trong Thuộc tính dự án thành Use Visual Studio Development Server
bằng số 54408 port
của tôi.
Đây là bước tuyệt vời để đi đúng hướng, vì 127.0.0.1:54408
trang chủ hiện hoạt động. Tuy nhiên, khi tôi cố gắng đăng nhập bằng Google OAuth
trên C# trang web, tôi đã nhận được lỗi sau:
Một trong tôi đồng nghiệp cũ người đã làm việc trên các dự án web C# nói với tôi một lần về this stackoverflow post. Trong câu trả lời của bài đăng này, tôi phải thêm redirect-urls
(trong trường hợp của tôi là 127.0.0.1
) vào Google APIs Console
. Hiện tại, tôi không có quyền truy cập vào số Console
này cho dự án localhost
của mình vì nó được lấy thông qua SVN
. Tôi sẽ yêu cầu một trong những giám sát viên của tôi cho phép xem Google APIs Console
của dự án web C# này và có thể chỉnh sửa redirect-urls
để bao gồm 127.0.0.1
.
Khi tôi đã hoàn thành công việc, tôi sẽ chấp nhận câu trả lời của Jake C, vì lời giải thích của ông về số Http port configurations
thực sự đã giúp tôi tìm câu trả lời.
Sửa 6:
Ok, tôi đã sử dụng riêng Google API Console của tôi và tạo ra một dự án mới với một ID khách hàng mới. Tôi đã thêm cả hai http://localhost:54408/Account/ExternalLoginCallback
và http:127.0.0.1:54408/Account/ExternalLoginCallback
vào các url chuyển hướng. Sau đó, trong dự án web của tôi C# App_Start/AuthConfig.cs
Tôi đã thay đổi cài đặt Ứng dụng khách để sử dụng ứng dụng khách mới này.
Một lần nữa cảm ơn Jake C cho đề xuất của bạn để thay đổi http port configurations
trong Visual Studio. Điều này đã làm cho các trick cho tôi.
Bạn đã có một cái nhìn trong tệp máy chủ của mình trong thư mục Windows32, có lẽ có điều gì đó không ổn? Là localhost definetly ánh xạ tới 127.0.0.1 hoặc có bạn đã xóa nó tại một số điểm có lẽ? – JARRRRG
@Jagga vâng tôi đã làm (xem Chỉnh sửa đầu tiên). Mọi thứ trong 'host32'' hosts-file' là một chú thích, ngoại trừ hai dòng cuối cùng: '127.0.0.1 localhost' và' :: 1 localhost'. Tôi đã thêm tệp hoàn chỉnh tại Chỉnh sửa 4. –
Thử đặt # để nhận xét 2 dòng cuối cùng.Trên tập tin host của tôi, chúng được nhận xét, vì vậy tôi giả sử chúng được nhận xét theo mặc định. – JARRRRG