Eine Rust-Bibliothek zur Interaktion mit imgchest.com. Es implementiert die gesamte API und bietet gleichzeitig einige Scraping-basierte Funktionen ohne Anmeldung.
# [ tokio :: main ]
async fn main ( ) -> anyhow :: Result < ( ) > {
let client = imgchest :: Client :: new ( ) ;
client . set_token ( "TOKEN" ) ;
let mut builder = imgchest :: CreatePostBuilder :: new ( ) ;
builder
. title ( "test title" )
. nsfw ( false )
. image ( imgchest :: UploadPostFile :: from_path ( "img.png" ) . await ? ) ;
let post = client . create_post ( builder ) . await ? ;
dbg ! ( &post ) ;
Ok ( ( ) )
}
# [ tokio :: main ]
async fn main ( ) -> anyhow :: Result < ( ) > {
let client = imgchest :: Client :: new ( ) ;
let post = client
. get_post ( "3qe4gdvj4j2" )
. await ? ;
dbg ! ( &post ) ;
Ok ( ( ) )
}
# [ tokio :: main ]
async fn main ( ) -> anyhow :: Result < ( ) > {
let client = imgchest :: Client :: new ( ) ;
let post = client
. get_scraped_post ( "3qe4gdvj4j2" )
. await ? ;
dbg ! ( &post ) ;
Ok ( ( ) )
}
In der Vergangenheit hat diese Bibliothek versucht, die offizielle API-Nutzung vollständig zu vermeiden. Dies hatte folgende zwei Gründe:
Während die Geschwindigkeitsbegrenzungen anscheinend auf ein erträgliches Maß (60 Anfragen pro Minute) aktualisiert wurden, ist zum Abrufen von Beiträgen weiterhin eine Anmeldung erforderlich. Aus diesem Grund wurde dieser Bibliothek API-Unterstützung hinzugefügt und gleichzeitig versucht, nach Möglichkeit Scraping-basierte Alternativen bereitzustellen. Es wird empfohlen, nach Möglichkeit die Scraping-basierte Funktionalität zu verwenden, um die Notwendigkeit der Verwendung eines API-Tokens und die Ratenbegrenzung zu vermeiden.
Scraped-API-Objekte in dieser Bibliothek sind so zugeschnitten, dass sie so weit wie möglich mit den offiziellen APIs übereinstimmen, obwohl einige Felder fehlen.
Die API ist in einigen Punkten eingeschränkt. Diese Bibliothek erhält möglicherweise mehr Scraping-basierte Funktionalität, um diese Einschränkungen zu umgehen. Diese Einschränkungen sind nach Schweregrad geordnet.