Я пытаюсь получить представление в Unity3D с помощью IP-камеры. Только когда я использую URL-адрес для доступа к камере с помощью сценария (см. Ниже), он выдает ошибку 401 Unauthorized. Теперь мне нужно войти в систему с паролем и именем пользователя, оба администратора.
Но я не уверен, как поместить это в URL-адрес, любая помощь с этим? Смотрите код ниже того, что у меня есть до сих пор.
//#pragma strict
// http://docs.unity3d.com/Documentation/ScriptReference/WWW.LoadImageIntoTexture.html
var url = "http://192.168.1.30/admin/view.cgi?profile=2&language=en";
function Start () {
// Create a texture in DXT1 format
// NOTE: you may want to experiment with different texture formats, specially in a web context
// https://docs.unity3d.com/Documentation/ScriptReference/TextureFormat.html
renderer.material.mainTexture = new Texture2D(4, 4, TextureFormat.DXT1, false);
Debug.Log(adress);
Debug.Log(url);
while(true) {
// Start a download of the given URL
var www = new WWW(url);
// wait until the download is done
yield www;
// assign the downloaded image to the main texture of the object
www.LoadImageIntoTexture(renderer.material.mainTexture);
}
}
==============================================
Итак, теперь я использую WWWForm.Headers. Тем не менее, когда я помещаю его в свой код, он дает мне «Инициализатор поля не может ссылаться на метод или свойство поля».
Код:
открытый класс SEMTEX: MonoBehaviour {
// Use this for initialization
//void Start() {
public WWWForm form = new WWWForm ();
public string headers = form.headers;
public byte[] rawData = form.data;
public string url = "http://192.168.1.101/snapshot.cgi";
public WWW www = new WWW (url, rawData, headers);
//}
IEnumerator Update (){
form.AddField ("name", "value");
headers ["Authorization"] = "Basic " + System.Convert.ToBase64String (System.Text.Encoding.ASCII.GetBytes ("admin:admin"));
yield return www;
}
Есть идеи, что происходит?