2009-08-25 3 views
0

나는 잠시 동안 PHP를 사용하고 있었지만 너무 발전하지는 않았습니다. 나는 서버 대 서버에 대한 많은 경험이 없다. 공급 업체와의 데이터 피드 설정을 연구해야합니다. 내가 말한 연락 담당자는 기본 인증을 통해 사용자 이름과 암호를 사용하여 서버에서 파일을 다운로드 할 것이라고 말했습니다. 누군가 나에게 그 일을하는 방법을 알려줄 수 있습니까?PHP : 기본 인증을 사용하여 다른 웹 서버에서 파일을 다운로드 하시겠습니까?

감사합니다.

답변

1
$f = fopen("http://$username:[email protected]"); 

다음과 같이 파일 조작과 동일한 방법을 사용하십시오. FREAD,는 fgets, FCLOSE 등

+0

나는 이것을 사용하지만, cURL. –

0

아마도 SOAP API를 사용한다는 의미 일 수 있습니다.이 형식은 일반적으로 사용자 이름/암호 + 함수 호출을 사용하여 서비스에서 데이터를 가져오고 게시합니다. php SOAP 나 nusoap 등에서 검색을하면 시작하기에 충분할 것입니다.

그러나 서비스의 견고한 '이름'을 얻을 수 있습니다. 나는 SOAP을 SOAP로 사용한다고 가정합니다. 개인용으로 가장 잘 알고 있습니다.

편집 : 하지 않는 한 '기본 인증'에 의해 그 의미 : http://us.php.net/manual/en/features.http-auth.php

2

는 HTTP 요청이 요청 헤더를 배치로 구성되어 있습니다 : 이제


$login = "havenard"; 
$pass = "my l33t p4ssw0rd"; 

$header = "Authorization: Basic " . base64_encode("{$login}:{$pass}"); 

어떻게 거기에 넣어거야 이 연결을 만들기 위해 사용하는 방법에 따라 다릅니다.

0

나는 그 사람이 브라우저의 페이지로 갈 때 사용자 이름/암호 상자가 튀어 나오고 콘텐츠가로드되기 전에 자격 증명을 제공해야하는 HTTPAuth와 같은 것을 의미한다고 가정합니다.

이 경우 CURL을 사용할 수 있습니다. PHP는 이것을 처리하기 위해 curl functions의 좋은 세트를 가지고있다. CURLOPT_NETRC 옵션을 사용하여 구성해야합니다.

1

나는 그들이 "파일을 다운로드"당신을 말한다면, 당신은 컬을 기반 솔루션 구현을 찾고 될 수 있다고 생각 : PHP: cURL - Manual

을 그리고 당신은 헤더 요청을 사용할 수 있습니다 그 Havenard 그의 게시물에 나와 :

$login = "havenard"; 
$pass = "my l33t p4ssw0rd"; 
$auth = "Authorization: Basic " . base64_encode("{$login}:{$pass}"); 
관련 문제