2010-02-13 4 views
2

Chrome 확장 프로그램은 DNS 설정이없는 가정용 LAN의 서버로 요청을 보내야하므로 모든 IP가 원시 IP를 사용하고 있습니다. 내 요청 페이지를 통해 이러한 요청을 보내므로, 매니페스트 파일의 적절한 사용 권한을 사용하면이를 수행해야합니다. 이것은 내 매니페스트에서 가지고있는 것입니다 :크롬 확장 - ip 도메인 권한

"permissions": [ 
    "http://10.0.0.4:3000/*","http://*/*" 
] 

그러나 http 스니퍼를 사용하면 요청이 해당 대상으로 발송되지 않습니다. 나는 배경 페이지의 HTTP 요청을 만들기 위해 저를 지시하는 this thread을 읽은

$.ajax({ url: url, 
     type: 'POST', 
     timeout: 500, 
     context: document.body, 
     success: function(){} }); 

: 로깅을 통해 내가 jQuery를 $.ajax() 호출에 도달 것을 알 수있다.

질문 : 원시 IP를 사용하면 크롬에 의해 요청이 삭제되는 것으로 생각하십니까?

감사합니다.

답변

3

아니요, 원시 IP를 사용하는 것이 문제가 아닙니다. 난 그냥 보편적 인 권한 (http://*/*)와 확장 기능에서 자사의 IP를 통해 내 라우터의 페이지를 얻는 노력하고 괜찮 았어. 그래도 코드에 대한 두 가지 메모는 다음과 같습니다.

  1. POST를 수행 중이지만 데이터를 지정하지 않았습니다. 그게 합법적인지 확실하지 않습니다.
  2. 예제에 누락 된 중괄호가 있습니다. 오타라고 가정하고 편집했지만, 아마도 그게 문제입니다.
+0

jquery 호출에서 데이터 매개 변수가 누락되었습니다. 매우 유익합니다 ... URL을 포함하지 않고 URL을 포함 시켰습니다. 따라서 데이터 매개 변수가 사용되지 않아야합니다. 그 점을 지적 해 주셔서 감사합니다. 세미콜론은 오타였습니다 ... 그래서 Im은 서버 로그에서 요청하는 것을 보았습니다.하지만 여전히 http 스니퍼에서 전송되는 것으로 보이지 않습니다. 매우 이상합니다 ... EffeTech HTTP를 사용하는 win32에 관한 Im 손수건. 어느 쪽이든, 시간 내 주셔서 감사합니다. – deepblue