Я тиринг, чтобы написать в Fritz! Box Phonebook по SOAP запросу, но он не будет работать. Я получил ошибку 403, неверные аргументы.
Вот мой код: < /p>
private async void SendPhonebookToFBoxAction(object obj)
{
string fritzBoxUrl = "http://fritz.box"; // Default FritzBox URL
string username1 = settingsModel.FBoxUsername; // Default FritzBox username
string password1 = AESHelper.DecryptWithDPAPI(Convert.FromBase64String(settingsModel.FBoxPassword.EncryptedPassword)); // Decrypt the password using DPAPI
//var handler = new HttpClientHandler();
//var client1 = new HttpClient(handler);
var byteArray = Encoding.ASCII.GetBytes($"{username1}:{password1}"); // Create a base64 encoded string for Basic Authentication
//client1.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray)); // Set the Authorization header for Basic Authentication
var handler = new HttpClientHandler
{
Credentials = new NetworkCredential(username1, password1)
};
using (var client = new HttpClient(handler))
{
// Implementation for sending phonebook to FritzBox
// This method can be implemented later as per requirements, eventually asynchronously
string newPhonebookEntryData = //@"" +
@"" +
@"0" +
"" +
"" +
"";
Debug.WriteLine($"SOAP Body: {soapBody}"); // Log the SOAP body for debugging
var request1 = (HttpWebRequest)WebRequest.Create(url);
request1.Method = "POST";
request1.ContentType = "text/xml; charset=\"utf-8\" ";
//request1.Headers.Add("SOAPACTION", $"\"urn:dslforum-org:service:X_AVM-DE-Phonebook:1#AddPhonebookEntry\""); // Set the SOAP action header
request1.Headers.Add("SOAPACTION", $"\"{service}#{action}\""); // Set the SOAP action header
request1.Credentials = new NetworkCredential(settingsModel.FBoxUsername, password1); // Set the credentials for the request
using (var stream = await request1.GetRequestStreamAsync())
using (var writer = new StreamWriter(stream))
{
writer.Write(soapBody);
}
try
{
using (var response = (HttpWebResponse)await request1.GetResponseAsync())
using (var reader = new StreamReader(response.GetResponseStream()))
{
string result = await reader.ReadToEndAsync();
Debug.WriteLine($"Response: {result}");
}
}
catch (WebException ex)
{
using (var reader = new StreamReader(ex.Response.GetResponseStream()))
{
string errorResponse = reader.ReadToEnd();
Debug.WriteLine($"Error: {errorResponse}");
MessageBox.Show($"Error sending phonebook entry: {errorResponse}", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
}
}
< /code>
Я попробовал запрос SOAP, используя NewPhoneBookEntry, NewPhoneBookEntryData, с и без блока CDATA в блоке SOAP запроса. Ничего не работает. Я получил сообщение об ошибке 402 - Неверные аргументы - каждый раз.
s:Client
UPnPError
402
Invalid Args
Подробнее здесь: https://stackoverflow.com/questions/796 ... -phonebook
C# TR-064 Написание напрямую в Fritz! Box Phonebook [закрыто] ⇐ C#
Место общения программистов C#
-
Anonymous
1751193237
Anonymous
Я тиринг, чтобы написать в Fritz! Box Phonebook по SOAP запросу, но он не будет работать. Я получил ошибку 403, неверные аргументы.
Вот мой код: < /p>
private async void SendPhonebookToFBoxAction(object obj)
{
string fritzBoxUrl = "http://fritz.box"; // Default FritzBox URL
string username1 = settingsModel.FBoxUsername; // Default FritzBox username
string password1 = AESHelper.DecryptWithDPAPI(Convert.FromBase64String(settingsModel.FBoxPassword.EncryptedPassword)); // Decrypt the password using DPAPI
//var handler = new HttpClientHandler();
//var client1 = new HttpClient(handler);
var byteArray = Encoding.ASCII.GetBytes($"{username1}:{password1}"); // Create a base64 encoded string for Basic Authentication
//client1.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray)); // Set the Authorization header for Basic Authentication
var handler = new HttpClientHandler
{
Credentials = new NetworkCredential(username1, password1)
};
using (var client = new HttpClient(handler))
{
// Implementation for sending phonebook to FritzBox
// This method can be implemented later as per requirements, eventually asynchronously
string newPhonebookEntryData = //@"" +
@"" +
@"0" +
"" +
"" +
"";
Debug.WriteLine($"SOAP Body: {soapBody}"); // Log the SOAP body for debugging
var request1 = (HttpWebRequest)WebRequest.Create(url);
request1.Method = "POST";
request1.ContentType = "text/xml; charset=\"utf-8\" ";
//request1.Headers.Add("SOAPACTION", $"\"urn:dslforum-org:service:X_AVM-DE-Phonebook:1#AddPhonebookEntry\""); // Set the SOAP action header
request1.Headers.Add("SOAPACTION", $"\"{service}#{action}\""); // Set the SOAP action header
request1.Credentials = new NetworkCredential(settingsModel.FBoxUsername, password1); // Set the credentials for the request
using (var stream = await request1.GetRequestStreamAsync())
using (var writer = new StreamWriter(stream))
{
writer.Write(soapBody);
}
try
{
using (var response = (HttpWebResponse)await request1.GetResponseAsync())
using (var reader = new StreamReader(response.GetResponseStream()))
{
string result = await reader.ReadToEndAsync();
Debug.WriteLine($"Response: {result}");
}
}
catch (WebException ex)
{
using (var reader = new StreamReader(ex.Response.GetResponseStream()))
{
string errorResponse = reader.ReadToEnd();
Debug.WriteLine($"Error: {errorResponse}");
MessageBox.Show($"Error sending phonebook entry: {errorResponse}", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
}
}
< /code>
Я попробовал запрос SOAP, используя NewPhoneBookEntry, NewPhoneBookEntryData, с и без блока CDATA в блоке SOAP запроса. Ничего не работает. Я получил сообщение об ошибке 402 - Неверные аргументы - каждый раз.
s:Client
UPnPError
402
Invalid Args
Подробнее здесь: [url]https://stackoverflow.com/questions/79683080/c-sharp-tr-064-writing-direct-into-fritzbox-phonebook[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия