List icon Conteúdo

De 7.32 para 7.33

Carregar dados

No JxBrowser 7.33, removemos um método para configurar os dados de upload em LoadUrlParams como um texto bruto.

7.32 e anteriores:

Com uma API antiga, o tipo de dados era indefinido e cabia a um servidor Web interpretar esses dados.

Java
Kotlin
import com.teamdev.jxbrowser.navigation.LoadUrlParams;
...
LoadUrlParams params =
    LoadUrlParams.newBuilder("https://example.com")
        .postData("foo=bar&buzz=feed")
        .build();
browser.navigation().loadUrl(params);
import com.teamdev.jxbrowser.navigation.LoadUrlParams
...
val params = 
    LoadUrlParams.newBuilder("https://example.com")
        .postData("foo=bar&buzz=feed")
        .build()
browser.navigation().loadUrl(params)

7.33:

Com a nova API, cada tipo de dados de carregamento deve ter um tipo:

Java
Kotlin
import com.teamdev.jxbrowser.navigation.LoadUrlParams;
import com.teamdev.jxbrowser.net.FormData;
import com.teamdev.jxbrowser.net.FormData.Pair;
...
FormData formData =
    FormData.newBuilder()
        .addPair(Pair.of("foo", "bar"))
        .addPair(Pair.of("buzz", "feed"))
        .build();
LoadUrlParams params =
    LoadUrlParams.newBuilder("https://example.com")
        .uploadData(formData)
        .build();
browser.navigation().loadUrl(params);
import com.teamdev.jxbrowser.navigation.LoadUrlParams
import com.teamdev.jxbrowser.net.FormData
import com.teamdev.jxbrowser.net.FormData.Pair
...
val formData =
    FormData.newBuilder()
        .addPair(Pair.of("foo", "bar"))
        .addPair(Pair.of("buzz", "feed"))
        .build()
val params =
    LoadUrlParams.newBuilder("https://example.com")
        .uploadData(formData)
        .build()
browser.navigation().loadUrl(params)

Como alternativa, você pode utilizar um formato arbitrário de dados de carregamento, utilizando ByteData com o tipo de conteúdo personalizado.

Java
Kotlin
import com.teamdev.jxbrowser.navigation.LoadUrlParams;
import com.teamdev.jxbrowser.net.ByteData;
import com.teamdev.jxbrowser.net.ContentType;
...
ContentType type = ContentType.newBuilder("application/x-www-form-urlencoded").build();
ByteData byteData = ByteData.of("foo=bar&buzz=feed".getBytes(UTF_8), type);
LoadUrlParams params =
        LoadUrlParams.newBuilder("https://example.com")
                .uploadData(byteData)
                .build();
browser.navigation().loadUrl(params);
import com.teamdev.jxbrowser.navigation.LoadUrlParams
import com.teamdev.jxbrowser.net.ByteData
import com.teamdev.jxbrowser.net.ContentType
...
val type = ContentType.newBuilder("application/x-www-form-urlencoded").build()
val byteData = ByteData.of("foo=bar&buzz=feed".toByteArray(), type)
val params =
    LoadUrlParams.newBuilder("https://example.com")
        .uploadData(byteData)
        .build()
browser.navigation().loadUrl(params)